将 PHP 错误记录到 Drupal 网站的自定义文件中
Posted
技术标签:
【中文标题】将 PHP 错误记录到 Drupal 网站的自定义文件中【英文标题】:Logging PHP errors to a custom file for a Drupal website 【发布时间】:2020-01-12 05:08:07 【问题描述】:我在 CentOS 7 中设置了一个带有多个虚拟主机的网络服务器,其中包括一个 drupal 网站。我想记录我的 Drupal 网站的 php 错误,例如将“mysite”写入自定义文件 /var/log/httpd/mysite_error.log。我已经在虚拟主机的 httpd conf 文件中进行了设置(这对非 Drupal 站点有效),但错误仍然记录到 /var/log/php_error.log。
虚拟主机mysite的httpd conf文件(/etc/httpd/sites-available/mysite):
<VirtualHost *:80>
ServerName mysite
DocumentRoot /var/www/html/mysite/
<Directory "/var/www/html/mysite">
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/mysite_error.log
CustomLog /var/log/httpd/error_log combined
</VirtualHost>
【问题讨论】:
Drupal 也会为他自己记录错误。您是否检查了报告 -> 最近的日志消息?也许这对你有帮助? 【参考方案1】:您只是在定义 Apache 错误日志。对于 php,您需要 php_value error_log /path/to.log
。
在error_log per Virtual Host?查看最多投票的答案
【讨论】:
【参考方案2】:对于 PHP 错误,您也必须配置它们,它们不是您在此处声明的 ErrorLog 或 CustomLog,它们是服务器日志。 php 错误变量以 php_value 或 php_flag 开头。
<VirtualHost *:80>
ServerName mysite
DocumentRoot /var/www/html/mysite/
<Directory "/var/www/html/mysite">
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/mysite_error.log
CustomLog /var/log/httpd/error_log combined
php_flag log_errors on
php_flag display_errors on
php_value error_reporting 2147483647
php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>
【讨论】:
以上是关于将 PHP 错误记录到 Drupal 网站的自定义文件中的主要内容,如果未能解决你的问题,请参考以下文章