我注意到当我在php中发出 die 语句时,它的输出没有出现在错误日志中(如果我在它旁边放了一个error_log语句,它显示正常)。
我尝试了一切..以下是我为确保查看所有错误日志所做的设置:
的php.ini :
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
error_log = /Applications/XAMPP/logs/error_log
的httpd.conf:
php_value error_log /Applications/XAMPP/logs/error_log
我甚至在我的一个虚拟主机的根目录中设置了 .htaccess 文件:
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_value error_log /Applications/XAMPP/logs/error_log
但是每次我在代码中都达到这样的声明: 死(“我喜欢Prestashop”);
代码就死了而没有任何输出..任何想法的人?
我使用XAMPP在我的localhost上运行该站点,并且我运行的是Prestashop网站,使用PHP 5.3.1
答案 0 :(得分:0)
调用die()
不应在error_log
中生成输出,因为调用它是不错误。
它只是一个PHP构造(exit()
的别名),它退出当前脚本并发送(可选)输出(或在CLI环境中使用时有用的错误代码)。
答案 1 :(得分:0)
die()或exit()对报告错误没有用。它们无法被捕获且无法记录。改为使用trigger_error()。