Puncte:0

Treceți de la php7.2 la 7.4 și de la alpine la ubuntu shell script/Dockerfile întrebare

drapel cn

Acesta este într-un Dockerfile cu

FROM phusion/baseimage:hirsute

ca fundaţie.

Această parte a funcționat cu php7.2, dar trebuia să trecem la php7.4

Variabilele de mediu sunt conținute într-un fișier .env în formatul DB_USER='nume utilizator'

sau în docker-compose.yml ca mediu ca:

mediu inconjurator:
      - DB_USER=${DB_USER:-implicit} 
      - DB_PASS=parolă
      - DB_NAME=bază de date

Partea originală 1 a creării dbconnect.php (Dockerfile)

ALERGA { \
         ecou „<?php”; \
         echo " \$db = getenv('DB_DRIVER') ?: 'mysqli';"; \
         echo " \$dbversion = getenv('DB_VERSION') ?: '8';"; \
         echo " \$host = getenv('DB_HOST') ?: 'db';"; \
         echo " \$user = getenv('DB_USER');"; \
         echo " \$pass = getenv('DB_PASS');"; \
         echo " \$dbs = getenv('DB_NAME') ?: 'bază de date';"; \
         echo " \$client_charset = 'utf8mb4';"; \ 
     } > /var/www/html/db/dbconnect.php

Partea originală 1 a creării dbconnect.php Produce în containerul care rulează curent:

<?php
    $db = getenv('DB_DRIVER') ?: 'mysqli';
    $dbversion = getenv('DB_VERSION') ?: '8';
    $gazdă = getenv('DB_HOST') ?: 'db';
    $user = getenv('DB_USER');
    $pass = getenv('DB_PASS');
    $dbs = getenv('DB_NAME') ?: 'bază de date';
    $client_charset = 'utf8mb4';

Deci parola și utilizatorul nu au implicit, dar oricum e doar ecou fără nicio utilizare a variabilelor.

M-am jucat și am produs variante de testare.

Următoarele variante Partea 2: toate nu funcționează:

 RUN { echo "<?php"; \
       echo „\$pass=";\
       echo "${tikipass}" ; \
       echo "getenv ${DB_USER}" ; \
       echo „$DB_USER” ; \
       echo "getenv('DB_USER')"; \
       ecou „bună ziua”; \
       echo "Număr = $DB_USER.\n"; \
     } > /var/www/html/db/dbconnect.php

Ieșirea Variantei Partea 2 a creării dbconnect.php Produce în containerul care rulează:

<?php
$trece=
getenv 

getenv('DB_USER')
salut
Număr = .

Deci, toate variantele la care m-aș putea gândi, nu prind conținutul variabil

Dbconnect.php rezultat ar trebui să fie în următorul format:

<?php
$db='mysqli';
$dbversion='8.0';
$host='localhost';
$user='utilizator';
$pass='parola';
$dbs='bază de date';
$client_charset='utf8mb4';

Multumesc pentru ajutor in avans.

Carsten Aevermann avatar
drapel cn
așa că unul a curățat codul, dar versiunea completă avea toate întrebările în ea, nebună :-) Reformatarea fișierului prin ștergerea tuturor comentariilor nu va ajuta.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.