>백엔드 개발 >PHP 문제 >nginx의 php-fpm이 PHP 오류 로그를 기록하지 않으면 어떻게 해야 합니까?

nginx의 php-fpm이 PHP 오류 로그를 기록하지 않으면 어떻게 해야 합니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-24 13:34:053540검색

nginx에서 php-fpm이 PHP 오류 로그를 기록하지 않는 문제를 해결하는 방법: 1. [php-fpm.conf]에서 구성을 수정하고, 그렇지 않은 경우 추가합니다. 2. [php.ini에서 구성을 수정합니다. ], 없으면 추가하세요. 3. [php-fpm]을 다시 시작하세요.

nginx의 php-fpm이 PHP 오류 로그를 기록하지 않으면 어떻게 해야 합니까?

php-fpm이 nginx:

1에서 PHP 오류 로그를 기록하지 않는 문제를 해결하는 방법 php-fpm.conf에서 구성을 수정하세요. 그렇지 않은 경우

catch_workers_output = yes
error_log = log/error_log

를 추가하세요. 2. php.ini 구성을 수정하고 그렇지 않은 경우

log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE

를 추가합니다. 3. php-fpm

을 다시 시작합니다. PHP에서 오류가 발생하면 "/usr/local/lnmp/php/var"에서 오류 로그를 볼 수 있습니다. /log/error_log"

참고:

1. php-fpm.confphp_admin_value[error_log] 매개변수는 error_log in php.ini code> 매개변수<code>php-fpm.conf 中的php_admin_value[error_log]参数 会覆盖php.ini中的 error_log 参数

所以确保你在phpinfo()中看到的最终error_log文件具有可写权限并且没有设置php_admin_value[error_log]参数,否则错误日志会输出到php-fpm的错误日志里。

2.找不到php.ini位置,使用php的phpinfo()

그러므로 phpinfo()에 표시되는 최종 error_log 파일에 쓰기 가능한 권한이 있고 php_admin_value[error_log]를 설정하지 않았는지 확인하세요. > 매개변수를 사용하지 않으면 오류 로그가 php-fpm의 오류 로그로 출력됩니다.

2.php.ini 위치를 찾을 수 없습니다. php의 phpinfo()를 사용하여 결과를 확인하세요

3. PHP 오류 로그가 페이지나 화면에 출력되지 않도록 수정하는 방법
  • php.ini 수정

  • display_errors = off //오류 정보를 표시하지 않음(페이지나 화면에 출력하지 않음)

  • log_errors = on //오류 정보 기록(로그 파일에 저장)

  • error_reporting = E_ALL //모든 오류 메시지 캡처

error_log = //로그 파일 이름 설정

프로그램에서 위 구성을 수정하세요

ini_set("display_errors",0)
ini_set("error_reporting",E_ALL); //这个值好像是个PHP的常量
ini_set("error_log","<日志文件名>")
ini_set("log_errors",1);

4.php 오류 로그를 nginx 오류로 출력하는 방법. log

PHP 5.3.8 및 이전 버전에서는 FastCGI를 통해 실행 중인 PHP에서 사용자 액세스 중 오류가 발생하면 먼저 PHP의 오류 로그에 기록되었습니다.

PHP의 오류 로그를 기록할 수 없는 경우 오류 내용이 반환되었습니다. FastCGI 인터페이스에 연결하면 nginx는 FastCGI에서 오류를 받은 후 nginx 오류 로그에 기록됩니다.

PHP 5.3.9 이상 버전에서는 PHP는 오류가 발생한 후에만 PHP 오류 로그에 기록하려고 합니다. 실패하면 FastCGI로 돌아가지 않습니다. 오류 로그는 php-fpm의 오류 로그에 출력됩니다.

그래서 PHP 오류 로그를 nginx 오류 로그에 출력하려면 php5.3.8 이전 버전을 사용해야 하며, 구성 파일에 있는 php의 error_log는 php 작업자 프로세스에 쓸 수 없습니다

관련 학습 권장 사항:
초급부터 고급까지의 PHP 프로그래밍🎜🎜🎜

위 내용은 nginx의 php-fpm이 PHP 오류 로그를 기록하지 않으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.