>  기사  >  백엔드 개발  >  PHP 오류 로그가 파일 위치를 기록하는 방법

PHP 오류 로그가 파일 위치를 기록하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-08-10 10:25:462821검색

PHP 오류 로그 파일의 위치를 ​​확인하는 방법: 1. 모듈 로딩을 통해 코드는 [php 프로그램의 구성 > httpd.conf > php.ini의 구성]입니다. 2. [CGI/fastCGI] 모드를 통해, 코드는 [ini_get("error_log")]입니다.

PHP 오류 로그가 파일 위치를 기록하는 방법

PHP 오류 로그 파일 위치를 찾는 방법:

1. 웹 서버(IIS, APACHE, NGINX 등)가 어떤 방식으로 PHP를 지원하는지 확인합니다. 일반적으로 다음과 같은 두 가지 방법이 있습니다.

​​​

PHP 오류 로그가 파일 위치를 기록하는 방법

2. 모듈 로딩을 통해

php程序中配置 > httpd.conf > php.ini中配置

3. CGI/fastCGI 모드를 통해

php程序中配置 > php.ini中配置    
ini_get("error_reporting");
ini_get("log_errors");
ini_get("error_log");

출력:

'22527'
'1'
'/usr/local/php7.2.0/var/log/php_errors.log'
如果log_errors = On

/usr/local/php7.2.0/var/log/php_errors.log 파일이 없거나 생성하거나 쓸 수 없는 경우, php.ini의 <code>log_errors= On인 경우 Apache ErrorLog 지시문

[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo ps -ef |grep httpd
apache     670  2501  0 11:24 ?        00:00:00 /usr/local/httpd-2.4.20/bin/httpd -k graceful
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ cd /usr/local/httpd-2.4.20/conf/conf.d
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo grep -anR --color &#39;1.aspire-he-admin&#39; ./
./aspire_he_admin.conf:29:    ServerName 1.aspire-he-admin
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo vim +29 /usr/local/httpd-2.4.20/conf/conf.d/aspire_he_admin.conf
<VirtualHost *:80>
    DocumentRoot "/home/d139/var/aspire-he-admin/webroot/"
    ServerName 1.aspire-he-admin
    SetEnv SERVER_ENVERONMENT_PARAM 2
    DirectoryIndex index.php index.html
    php_value post_max_size 100M
    CustomLog "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_access.log" combined
    ErrorLog  "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_error.log"
</VirtualHost>
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 module]$ sudo tail -f /home/d139/logs/2019-03-13-10-he-admin_error.log
[Wed Mar 13 10:02:01.194757 2019] [php7:error] [pid 17673] [client 127.0.0.1:50312] 
PHP Fatal error:  Uncaught Error: Call to undefined method VersionManage::
getDb1() in /home/d139/var/aspire-he-admin/module/VersionManage.class.php:82\nStack trace:\n#0 /home/d139/var/aspire-he-admin/webroot/api.php(37): 
VersionManage::getTxlVersionUpgradeStatus(Array)\n#1 {main}\n  thrown in /home/d139/var/aspire-he-admin/module/VersionManage.class.php on line 82
/usr/local/php7.2.0/var/log/php_errors.log文件不存在,或无法创建,写入,则php错误日志写到apache ErrorLog指令指定的文件

rrreeerrreeerrreee

如果php.ini中log_errors= On,据官方的说法,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors这个指定的Off失效,错误信息还是打印了出来。将log_errors = Off에 의해 지정된 파일에 PHP 오류 로그가 기록됩니다. , 공식 성명에 따르면 이를 지정해야 합니다. error_log 파일이 지정되지 않거나 지정된 파일에 쓰기 권한이 없으면 여전히 일반 출력 채널로 출력됩니다. display_errors의 지정된 Off를 유효하지 않게 만듭니다. 오류 메시지가 계속 인쇄됩니다. log_errors = Off를 설정하세요.

관련 학습 권장 사항: php 프로그래밍(동영상)

위 내용은 PHP 오류 로그가 파일 위치를 기록하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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