PHP는 오류 로그를 어디에 저장합니까? (PHP 5, Apache, Fast CGI 및 cPanel)
공유 호스팅을 하고 있으며 cPanel, Apache, PHP를 Fast CGI로 실행하고 있습니다.PHP는 오류 로그를 어디에 저장합니까?
error_log 파일을 찾기 위해 전체 사이트 구조를 살펴볼 필요 없이 공유 호스팅 환경에서 오류 로그를 찾을 수 있는 다른 방법이 있습니까?
php.ini 파일에 액세스할 수 있습니다(PHP 버전 5.2.16을 사용하고 있습니다).
로그를 합니다./var/log/apache2
PHP apache2 php php 。합니다./log
단, access에 할 수 있는 에는 만면면면면면면면 면면면면php.ini
을 사용하다
error_log = /var/log/php-scripts.log
리노고의 코멘트에 의하면:cPanel 을 사용하고 있는 경우, 찾고 있는 마스터 로그 파일은 (기본값으로) 다음 위치에 저장됩니다.
/usr/local/apache/logs/error_log
그 외의 모든 것이 실패했을 경우는, 다음의 방법으로 로그 파일의 위치를 확인할 수 있습니다.
<?php phpinfo(); ?>
★★를 해 보세요.phpinfo()
"error_log를 합니다.
리눅스
php --info | grep error
단말기는 에러 로그의 위치를 출력합니다.
창문들
php --info | findstr /r /c:"error_log"
명령 프롬프트가 오류 로그 위치를 출력합니다.
로그 위치를 설정하려면
, 펴보세요.php.ini
다음 행을 추가합니다.
error_log = /log/myCustomLog.log
이것들에 대해 Chelmertz와 Boom에게 감사한다.
LAMP 환경에서 PHP 오류는 기본적으로 아래 파일로 전송됩니다.
/var/log/httpd/error_log
모든 액세스 로그는 다음과 같습니다.
/var/log/httpd/access_log
Linux에서 PHP 오류 로그를 찾는 방법:
sudo updatedb
[sudo] password for eric:
sudo locate error_log
/var/log/httpd/error_log
또 다른 동등한 방법:
sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
디폴트로는 PHP는 에러를 기록하지 않는 것 같습니다.그error_log
가 본됩니다.php.ini의 키입니다.
일반적으로 I:
php.ini 파일을 찾습니다.
locate php.ini
.에서 「」를합니다.
error_reporting
값PHP 로그레벨의 결합으로 충분합니다.
를 들면, '먹다'와 같이요.
E_ALL & ~E_DEPRECATED & ~E_STRICT
error_log
실제 장소를 가리키고 주석 아웃되지 않도록 하기 위한 값입니다.기본값은 전체 경로는 제공하지 않고 파일 이름만 지정하며, 이 경로는 일반적으로 어디에서 확인되는지 알 수 없습니다. ★★
/var/log/
.
,, ,, 、/var/log/apache2/error.log
Google Compute Engine에 있는 경우.
꼬리를 이렇게 볼 수 있습니다.
tail -f /var/log/apache2/error.log
php.ini 파일에 error_log 변수를 설정할 때는 절대 경로를 사용해야 합니다.그렇지 않으면 상대 경로에 따라 오류 로그가 저장됩니다.
error_log = /var/log/php.errors
다른 솔루션은 디렉토리 트리의 모든 오류 로그 파일을 나열하는 단순한 스크립트를 작성하는 것입니다.
php --info | grep error
이것은 도움이 된다.
NGINX는 보통 /var/log/nginx/error.log 또는 access.log(어느 경우든 Ubuntu에 있음)에 저장합니다.
가장 좋은 방법은 httpd.conf 파일을 검색하여 기본값을 확인하는 것입니다.특정 가상 호스트에 의해 재정의될 수도 있습니다.먼저, 이 모든 것을/etc/httpd/conf/httpd.conf
★★★★★★★★★★★★★★★★★」/etc/apache2/httpd.conf
error_log를 합니다./ 또는 /var/log/httpd/error_log 중 하나로 될 수 ./var/log/apache2/error_log
, 단순히 ,, 순, 순, 순, 순, 단, 는, 는, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,,logs/error_log
.
에 이 에 있습니다./etc/httpd/logs/error_log
그래도 찾을 수 없는 경우 httpd.conf 파일 하단을 확인하여 가상 호스트가 포함된 위치를 확인하십시오./etc/httpd/conf.d/<- 에 "other" 또는 "extra" 로 표시됩니다.그러면 가상 호스트가 ErrorLog "/path/to/error_log"로 재정의할 수 있습니다.
를 소스에서 으로는 Apache PHP에서 됩니다.${Apache install dir}/logs/error_log
즉, 으로 (으로, (예:)/usr/local/apache2/logs/error_log
.
URL에 ./var/log/apache2/error_log
.
길을 할 수 .php.ini
'아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 맞다phpinfo()
.
목적지에 관계없이 함수 호출로 설정하면 다음과 같이 됩니다.
error_log($errorMessageforLog . "\n", 4, 'somePath/SomeFileName.som');
php5-fpm log default를 사용하는 경우 다음과 같습니다.
/var/log/php5-fpm.log
php.ini에서 오류 로그 파일을 구성할 때 절대 경로 또는 상대 경로를 사용할 수 있습니다.상대 경로는 스크립트를 생성하는 위치에 따라 해결되며 스크립트가 있는 각 디렉토리에 로그 파일이 표시됩니다.모든 오류 메시지를 동일한 파일로 보내려면 파일에 대한 절대 경로를 사용하십시오.
다음과 같은 경우:
sudo locate error.log | xargs -IX grep -iH "errorlog" X
또는
sudo locate error_log | xargs -IX grep -iH "errorlog" X
또는
sudo find / -iname "error?log" 2>/dev/null | xargs -IX grep -iH "errorlog" X
httpd.conf 파일을 검색하여ErrorLog
「」를 실행해 .cat <file location> | grep ErrorLog
커맨드 라인에 표시됩니다.예를 들어 다음과 같습니다.
cat /etc/apache2/httpd.conf | grep ErrorLog
출력:
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
ErrorLog "/private/var/log/apache2/error_log"
하다, 하다, 하다, 하다로 .ErrorLog
정답이 여기 있습니다.
주의:호스트의 는, 호스트 파일 「」을 할 수 .「 」 。httpd-vhosts.conf
하다
cPanel 오류 로그는 다음 위치에 있습니다.
/usr/local/cpanel/cpanel/module/
/usr/local/filename/filename/
기본적으로 Apache 로그는 다음 내부에 있습니다.
- /var/log/module
또는
- /var/log/var2
커스텀 로그 로케이션을 사용하고 있는 유저가 있는 경우는, 다음의 커스텀 로그 로케이션을 확인할 수 있습니다.
cat /etc/apache2/**conf**/httpd.conf | grep ErrorLog
apache2 디렉토리가 존재하지 않는다는 오류가 표시되면 다음 명령을 실행하여 올바른 위치를 찾을 수 있습니다.
whereis apache
또는
whereis apache2
장담하건대, 로그 파일을 찾느라 한 번이라도 미쳐버린 사람은 저뿐만이 아닙니다.전체 시스템에서 가장 쉽게 찾을 수 있을 것 같습니다.
PHP 에러 로그가 격납되어 있는 장소에 관한 명확한 가이드는, 복잡한 작업이 됩니다.공식 PHP 매뉴얼은 운영체제(Linux vs.Windows(Linux의 배포판)에는 PHP 오류 로그의 이름과 위치에 영향을 미치는 Windows 및 Linux 내의 설정이 포함됩니다.
다른 사람이 시간을 들여 완전한 교차 시스템 가이드를 작성할 때까지, 당신이 얻을 수 있는 최선의 방법은 당신이 문의할 수 있는 일반적인 길잡이입니다.모든 PHP 개발자는 단 한 가지 예외를 제외하고 이 과정에서 고통을 견뎌야 했다.한 곳에서 작업하고 처음 필요할 때 정보가 제공되면 정보가 영원히 필요하게 됩니다.즉, 새로운 작업 환경에 들어갈 때까지입니다.정말 운이 좋은 사람들이 있어요.
그 정보가 은쟁반에 담겨 있지 않다면, 말하자면, 당신은 사냥할 필요가 있다.사냥은 당신의 경력에서 직면하게 될 가장 긴 사냥은 아니지만, 가장 간단한 것도 아니다.
이미 게시된 많은 답변에서 알 수 있듯이, phpinfo()의 출력이 스마트한 시작점입니다.이 파일을 보려면 다음을 포함하는 PHP 파일을 만드십시오.
<?php
phpinfo();
해당 파일을 찾아보거나 명령줄에서 실행합니다.둘 다 실행하면 명령줄과 웹 서버의 PHP 사용에 따라 error_log가 다른 위치에 있음을 알 수 있습니다.그 이유는 웹 서버에서 실행되는 PHP 인터프리터는 명령줄에서 실행되는 PHP 인터프리터가 아니기 때문입니다.커맨드 라인이 웹 서버와 같은 머신에 있는 경우에도 마찬가지입니다.여기에 이미 게시된 답변은 대부분 PHP가 웹 서버의 일부로 실행되고 있다고 가정하고 있습니다.
error_log 기본값은 no value 입니다.
값이 무엇이든 PHP 설정에 사용되는 php.ini 파일에서 가져옵니다.많은 php.ini 파일이 있을 수 있습니다.그 중에서 길을 찾는 것은 처음에는 혼란스럽지만, PHP 로그를 찾기 위해 이것을 처리할 필요는 없습니다.
phpinfo()로부터의 출력이 파일에 대한 풀패스를 나타내고 있는 경우는, 로그가 거기에 있습니다.당신은 운이 좋군요.
문제는 보통 phpinfo()로 표시된 전체 경로가 없다는 것입니다.풀 패스가 없는 경우 위치는 다음 조건에 따라 달라집니다.
error_log가 값이 아닌지 여부.이 경우 로그 파일 위치는 운영 체제 및 PHP가 실행 중인 모드에 따라 달라집니다.PHP가 Apache 모듈로 실행 중인 경우 Linux에서 로그는 종종 /var/log/apache2/error.log에 있습니다.계정 홈 디렉토리의 로그 디렉토리 ~/logs/error.log에 있을 수 있는 또 다른 지점이 있습니다.
경로가 없는 파일 이름이 있는 경우 파일 이름에 syslog 값이 있는지 여부에 따라 위치가 달라집니다.syslog 의 경우는, 서버의 syslog 에 PHP 에러 로그가 삽입됩니다.이것은 Linux 배포에 따라 다릅니다.일반적인 장소는 /var/log/syslog이지만 어디에나 사용할 수 있습니다.syslog 이름조차 배포에 따라 달라집니다.
패스가 없는 이름이 syslog가 아닌 경우 파일의 빈번한 홈은 웹 사이트의 문서 루트입니다(예를 들어 웹 사이트의 홈 디렉토리, 계정의 홈 디렉토리와 혼동하지 마십시오).
이 치트페이퍼는 어떤 상황에서는 도움이 되었지만, 저는 이것이 거의 보편적이지 않다는 것을 인정해야 합니다.애도를 표합니다.
(8)의 경우 8입니다.var/log/httpd/error_log
.
공유 환경에 있으며 오류 로그를 찾을 수 없습니다.항상 cPanel 대시보드에서 CPanel에 Errors 옵션이 있는지 확인하십시오.에러 로그를 찾을 수 없는 경우는, 에러 로그를 참조해 주세요.
cPanel 검색 바의 search Error에는 기본적으로 다른 HTTP 오류 페이지 목록인Error Pages(오류 페이지)가 표시됩니다.기타 Error(오류)는 에러 로그가 표시되는 장소입니다.
공유 환경에서 찾아야 할 다른 위치:
- /home/yourusername/module
- /home/yourusername/public_module/error_log
- File Manager에서 logs 폴더를 확인할 수 있습니다.
- public_html 폴더의 로그 파일을 확인합니다.
- 로그가 격납되어 있는 「php phinfo()」파일을 확인합니다.
어떤 이유로 내 것이 저장되었습니다.
/var/log/php-errors.log
Ubuntu Server 16.04(Xenial Xerus)와 PHP 7.1.28을 사용하고 있습니다.
워드프레스
는 워드프레스를 한다.error_log()
의 메시지/wp-content/debug.log
언제WP_DEBUG_LOG
true로 설정됩니다.
WP_DEBUG_LOG에 대한 WordPress 문서를 참조하십시오.
PHP-FPM 의 경우는, 다음의 설정 파일을 검색해 주세요.error_log
:
cat /etc/php-fpm.d/www.conf | grep error_log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
공유 cPanel 환경에서는 호스팅 공급자가 cPanel 대시보드에 옵션을 제공하지 않으면 오류 로그를 찾을 수 없습니다.에러를 검색해, 프로바이더에 에러가 있는지를 확인할 수 있습니다.
그렇지 않으면 일반적으로 public_html 파일에 "error_log"라는 파일이 있으며, 여기에는 모든 PHP 오류가 기록됩니다.
언급URL : https://stackoverflow.com/questions/5127838/where-does-php-store-the-error-log-php-5-apache-fastcgi-and-cpanel
'programing' 카테고리의 다른 글
ms-access NZ를 IFNULL MySQL 또는 MariaDB 함수로 변환하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
---|---|
Access-Control-Allow-Origin 헤더는 어떻게 동작합니까? (0) | 2022.09.16 |
PHP에서 이중 물음표(?) 연산자는 무엇을 의미합니까? (0) | 2022.09.15 |
vuex 스토어가 빌드에 포함되도록 하려면 어떻게 해야 합니까? (0) | 2022.09.15 |
PHP cURL은 단일 요청으로 응답 헤더와 본문을 검색할 수 있습니까? (0) | 2022.09.15 |