나는 이 질문이 이전에 여러 번 요청되었다는 것을 알고 있으며 모든 답변을 살펴보았지만 나에게 도움이 되지 않는 것 같습니다. PHP에 오류 로그가 켜져 있는지 확인하려고 php.ini 파일에 가서 아래 그림에 보이는 줄의 주석 처리를 제거했습니다.
php_error.log가 어디에 있는지 찾기 위해 "whereis" 명령을 사용해 보았지만 "php_error: "만 있고 다른 내용은 없는 행이 반환되었습니다. PHP 오류 로그를 보거나 켜는 올바른 방법입니까? 그렇지 않은 경우 어떻게 해야 하며 내 홈 폴더와 같이 액세스하기 쉬운 폴더로 리디렉션할 수 있습니까?
또한 다양한 유형의 오류가 있다는 것을 알고 있습니다. 하지만 모든 경로를 구성해야 합니까, 아니면 자동으로 동일한 오류 로그로 이동합니까?
참고로 저는 apache2를 설치했습니다. 나는 php와 apache2에 관한 많은 질문을 보았지만 오류 로깅을 처리하는 방법이 왜 그렇게 되는지 잘 모르겠습니다.
감사해요
답변1
문제는 웹 서버를 통해 PHP 스크립트에 액세스할 때 PHP 스크립트를 실행하는 방법이 여러 가지가 있고 로깅이 이에 따라 달라진다는 것입니다. 바꿔 말하면 PHP를 실행하는 모든 항목은 로깅을 유지합니다.
내 Jessie(Debian 8) 시스템에서는 PHP를 사용하여 실행 php5-fpm
하고 로깅이 구성되어 있습니다 /etc/php5/fpm/php-fpm.conf
(그러나 이는 소위 "풀" php-fpm
사용에 대해 재정의될 수 있습니다).
이전 시스템에서는 를 사용하여 PHP를 실행하는 것이 관례였으며 mod_fcgid
, 이 경우 php5-cgi
바이너리는 실제로 스크립트를 실행하는 데 사용되며 /etc/php5/cgi/php.ini
.
일부 사람들은 여전히 mod_php
PHP 스크립트를 실행하는 데 사용하며 이 경우에는 /etc/php5/apache2/php.ini
해당 모듈에서 다음과 같은 것을 사용합니다.
정리하자면, 구성은 PHP 스크립트 호출을 제공하는 방식에 따라 다르므로 먼저 이를 파악한 다음 거기에서 작업하세요.
힌트: PHP가 최소한으로 작동하는 경우 단일 스크립트 읽기를 제공하는 간단한 사이트를 만드십시오.
<?php
phpinfo();
해당 스크립트에 액세스하여 PHP 엔진이 구성을 획득한 위치를 포함하여 해당 구성에 대해 인쇄하는 내용을 확인하세요.