php apache 오류 로그를 활성화하는 방법: 먼저 php-fpm.conf에서 구성을 수정한 다음 php.ini의 구성을 "log_errors = On"으로 수정하고 마지막으로 php-fpm을 다시 시작하세요.
권장: "PHP 비디오 튜토리얼"
nginx와 apache는 PHP 오류 로깅을 활성화합니다
LNMP 개발 환경은 최근 로컬에 구축되었습니다. 개발 중 프론트엔드의 정상적인 개발에 영향을 주지 않기 위해 PHP의 php.ini에 있는 일부 오류 메시지를 차단합니다. 그러나 이는 개발 중 일부 문제를 제때 디버깅할 수 없는 등 백엔드 개발의 일부 문제에 영향을 미칩니다.
nginx는 Apache와 다르므로 PHP 오류 로그를 직접 지정할 수 있습니다. PHP에서 실행될 수 있습니다. PHP의 오류 정보는 PHP의 오류 로그에 직접 입력되므로 쉽게 쿼리할 수 있습니다.
nginx에서는 다음과 같이 됩니다. nginx는 페이지 방문에 대한 액세스 로그만 기록합니다. PHP 오류 로그 정보는 없습니다. nginx는 처리를 위해 php-fpm fastcgi 프로세스에 php에 대한 요청을 보냅니다. 기본 php-fpm은 php-fpm의 오류 메시지만 출력하며 php의 오류 로그는 php-fpm의 오류 로그에서 볼 수 없습니다.
이유는 php-fpm 구성 파일 php-fpm.conf가 기본적으로 작업자 프로세스의 오류 출력을 끄고 /dev/null로 직접 리디렉션하므로 nginx 오류 로그와 php-fpm 오류 로그가 모두 있기 때문입니다. .php 오류 로그를 볼 수 없습니다.
따라서 php-fpm이 nginx에서 어떻게 PHP 오류 로그를 기록하지 않는지 확인하려면 다음 설정을 지정해야 합니다.
1 그렇지 않은 경우 php-fpm.conf에서 구성을 수정하세요.
[global] ; Note: the default prefix is /usr/local/php/var error_log = log/php_error_log [www] catch_workers_output = yes
2. php.ini에서 구성을 수정하세요. 그렇지 않은 경우 다음을 추가하세요:
log_errors = On error_log = "/usr/local/php/var/log/error_log" error_reporting=E_ALL&~E_NOTICE
3. php-fpm을 다시 시작하세요
PHP가 오류를 실행하면 "/usr/local/lnmp/php/var"에서 오류 로그를 볼 수 있습니다. /log/ php_error_log"
나타나는 경우:
[root@localhost etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry 'catch_workers_ [17-Apr-2014 18:40:52] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf' [17-Apr-2014 18:40:52] ERROR: FPM initialization failed failed
그런 다음 첫 번째 단계에서 해당 그룹에 구성을 주의 깊게 작성하십시오. 그렇지 않으면 위의 오류가 나타납니다:
ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output' apache display_errors
오류 에코, 일반적인 문구 개발 모드이지만 많은 애플리케이션은 프로덕션 환경에서 이 옵션을 끄는 것을 잊어버립니다. 오류 에코는 민감한 정보를 많이 노출시킬 수 있어 공격자의 다음 공격을 용이하게 합니다. 이 옵션을 끄는 것이 좋습니다.
display_errors = On
오류가 발생하면 오류가 보고되고 오류 메시지가 나타납니다.
dispaly_errors = Off
닫을 때 오류가 발생하면 서버 오류가 나타납니다. 하지만 오류 메시지는 나타나지 않습니다.
log_errors
정식 환경에서 사용하고 오류 정보를 로그에 기록하면 됩니다. 오류 에코를 꺼야 할 때입니다.
PHP 개발자의 경우 제품을 사용하고 나면 가장 먼저 해야 할 일은 이러한 오류로 인해 공개되는 경로, 데이터베이스 연결, 데이터 테이블 및 기타 정보로 인해 해커의 공격을 피하기 위해 display_errors 옵션을 끄는 것입니다.
제품을 사용하고 나면 필연적으로 오류 메시지가 나타나는데, 개발자에게 매우 유용한 이 정보를 어떻게 기록해야 할까요?
PHP의 log_errors를 켜기만 하면 됩니다. 기본적으로 Apache의 error.log 파일과 같은 웹 서버의 로그 파일에 기록됩니다.
물론 특정 파일에 오류 로그를 기록할 수도 있습니다.
위 내용은 PHP 아파치 오류 로그를 활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!