Puncte:0

Erorile PHP apar în containerele PHP și Nginx

drapel cn

M-am jucat recent cu trecerea de la înregistrarea locală bazată pe fișiere într-o aplicație PHP, la împingerea erorilor PHP prin stdout, astfel încât acestea să fie afișate împreună cu celelalte jurnale într-o configurare docker. Acest lucru funcționează bine, dacă setați error_log locație către /dev/stdout apoi văd erori de la PHP prin jurnalele de docker. Cu toate acestea, aceleași erori apar și în containerul nginx, ca mai jos prin „FastCGI trimis în stderr”:

docker-compose-nginx-phpfpm-php-fpm-1 | ANUNȚ: mesaj PHP: test
docker-compose-nginx-phpfpm-php-fpm-1 | 172.18.0.3 - 18/Ian/2022:20:00:20 +0000 „GET /index.php” 200
docker-compose-nginx-phpfpm-web-1 | 2022/01/18 20:00:20 [eroare] 32#32: *18 FastCGI trimis în stderr: „Mesaj PHP: test” în timp ce citiți antetul răspunsului din amonte, client: 172.18.0.1, server: phpfpm.local, cerere : „GET / HTTP/1.1”, în amonte: „fastcgi://172.18.0.2:9000”, gazdă: „localhost:8080”

Pentru claritate:

Jurnal de containere PHP

docker-compose-nginx-phpfpm-php-fpm-1 | ANUNȚ: mesaj PHP: test

Jurnalul containerului Nginx

docker-compose-nginx-phpfpm-web-1 | 2022/01/18 20:00:20 [eroare] 32#32: *18 FastCGI trimis în stderr: „Mesaj PHP: test” în timp ce citiți antetul răspunsului din amonte, client: 172.18.0.1, server: phpfpm.local, cerere : „GET / HTTP/1.1”, în amonte: „fastcgi://172.18.0.2:9000”, gazdă: „localhost:8080”

Ce se petrece aici? acesta este comportamentul așteptat?

Acesta este rezultatul unei configurații php-fpm/nginx foarte de bază și standard cu un docker-compose.yml ca acesta:

versiunea: "3.9"

Servicii:
    web:
        imagine: nginx:latest
        porturi:
            - „8080:80”
        volume:
            - ./src:/var/www/html
            - ./default.conf:/etc/nginx/conf.d/default.conf
        link-uri:
            - php-fpm
    php-fpm:
        imagine: php:8-fpm
        volume:
            - ./src:/var/www/html

un default.conf ca:

Server {
    index index.php index.html;
    nume_server phpfpm.local;
    error_log /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    rădăcină /var/www/html;

    locație ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

și un index.php ca:

<?php
ini_set('display_errors', 'off');
ini_set('error_log', '/dev/stdout');
error_log('test');
echo phpinfo();

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.