>백엔드 개발 >PHP 튜토리얼 >PHP 오류 로그를 출력하는 nginx php-fpm 구성 방법

PHP 오류 로그를 출력하는 nginx php-fpm 구성 방법

WBOY
WBOY원래의
2016-07-29 09:15:521440검색

이 글은 nginx 서버에서 PHP 오류 로그를 출력하기 위해 php-fpm을 구성하는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

nginx는 웹 서버일 뿐이므로 nginx의 접속 로그에는 접속한 페이지만 기록되며, php는 존재하지 않습니다. 오류 로그 정보.

nginx는 처리를 위해 php-fpm fastcgi 프로세스에 php에 대한 요청을 보냅니다. 기본 php-fpm은 php-fpm 오류에서 php-fpm의 오류 메시지만 출력합니다.

로그에서 php의 오류 로그를 볼 수 없습니다. 이유:
php-fpm의 구성 파일 php-fpm.conf는 기본적으로 작업자 프로세스의 오류 출력을 닫고 /dev/로 직접 리디렉션합니다. null이므로 nginx 오류가 발생했습니다. php-fpm의 로그나 오류 로그 모두 php의 오류 로그를 볼 수 없습니다.

php-fpm이 nginx에서 PHP 오류 로그를 기록하지 않는 문제를 해결하는 방법:

1. 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.conf의 php_admin_value[error_log] 매개변수는 php의 error_log 매개변수를 덮어씁니다. ini
따라서 phpinfo()에서 볼 수 있는 최종 error_log 파일에 쓰기 가능한 권한이 있고 php_admin_value[error_log] 매개변수가 설정되지 않았는지 확인하세요. 그렇지 않으면 오류 로그가 php-fpm의 오류 로그에 출력됩니다.

PHP 오류 로그를 출력하는 nginx php-fpm 구성 방법

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


PHP 오류 로그를 출력하는 nginx php-fpm 구성 방법

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로 출력하는 방법

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 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

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