1. 오류 보고 및 수집 방법 이해
서버 배포 과정에서 PHP 오류 출력을 습관적으로 꺼두는 이유는 PHP 오류 메시지로 인해 보안 위험이 노출되거나 정보 유출이 발생할 수 있기 때문입니다. 방법을 제공. 그러나 개발 과정에서 문제를 찾고 프로그램을 디버깅하려면 이러한 오류 메시지가 필요합니다.
이 문제를 해결하는 한 가지 방법은 PHP의 오류 출력을 켜는 것입니다. PHP에서는 오류 로그 수준을 설정하거나 오류를 즉시 보고할 수 있습니다. Nginx 구성 파일에 몇 가지 옵션을 추가하여 PHP 오류 메시지를 표시할 수 있습니다.
2. Nginx 구성 파일의 PHP 설정이 잘못되었습니다.
Nginx 서버 구성 파일(일반적으로/etc/nginx/nginx.conf
)을 열고http{} code>를 찾습니다. 블록에 다음 구성을 추가하세요.
/etc/nginx/nginx.conf
,找到http{}
块,添加如下配置:
server { # server settings ... # server block location rules ... # php-fpm status check location ~ ^/(status|ping)$ { access_log off; # php-fpm settings fastcgi_param PHP_VALUE "error_reporting=E_ALL"; include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # php error logs location ~ \.php$ { fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log"; include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } # error pages error_page 404 /404.html; error_page 500 502 503 504 /50x.html; # static files location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ { expires 7d; access_log off; } # disable direct access to .ht files location ~ /\.ht { deny all; } }
其中,fastcgi_param PHP_VALUE
用于向Nginx服务器请求的PHP进程传递错误信息。error_reporting=E_ALL
表示输出所有错误级别的信息。fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";
表示将PHP错误信息输出到/var/log/nginx/php_error.log
文件中。
更改完配置文件后,重新加载Nginx服务器:
sudo systemctl reload nginx
三、PHP 配置文件中的错误设置
PHP的配置文件一般为/etc/php/7.4/fpm/php.ini
,找到error_reporting
这一行,将其设置为显示所有的错误信息:
error_reporting = E_ALL
然后找到display_errors
这一行,将其设置为On
display_errors = On
fastcgi_param PHP_VALUE
는 Nginx 서버에서 요청한 PHP 프로세스에 오류 정보를 전달하는 데 사용됩니다.
error_reporting=E_ALL
은 모든 오류 수준 정보를 출력한다는 의미입니다.
fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_error.log";
는 PHP 오류 정보를
/var/log/nginx/php_error.log
파일에 출력한다는 의미입니다.
구성 파일을 변경한 후 Nginx 서버를 다시 로드하세요.
sudo systemctl restart php7.4-fpm
/etc/php/7.4/fpm/php.ini 에서 error_reporting
줄을 찾아 모든 오류 메시지를 표시하도록 설정하세요. rrreee 그런 다음
display_errors
줄을 찾아
On, 그러면 모든 PHP 오류 메시지가 웹 페이지에 표시될 수 있습니다: rrreee 그런 다음 파일을 저장하고 PHP-FPM을 다시 시작합니다: rrreee
위 내용은 PHP 오류를 표시하지 않는 nginx를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!