Gra*_*t M 2 php log-files php.ini
在写入日志文件时,我无法在屏幕上显示任何错误。当检查 phpinfo() 打印出来时,我有相同的 master a local 值
display_errors On
display_startup_errors On
error_log /var/log/php.log
error_reporting E_ALL & ~E_NOTICE
log_errors On
log_errors_max_len
Run Code Online (Sandbox Code Playgroud)
ls -l /var/log/php.log 是 -rw-rw-rw- 1 root root 0 Jun 21 07:47 /var/log/php.log for /var 和 /varlog drwxrwxrwx 23 root root 4096 Jun 2 11 :13 无功
当代码中有错误时,页面浏览器不显示任何内容,浏览器说没有该页面的来源。关于在哪里查看或更改错误以出现在某处的任何建议(任何地方都很好)
编辑:我的错误脚本现在是
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
echo "print from error.php 2 ";
error
//print from erroerror to cuase logging to happen.
?>
Run Code Online (Sandbox Code Playgroud)
这将打印在显示器上并记录
Notice: Use of undefined constant error - assumed 'error' in /var/www/piku_dev2/error.php on line 7
Run Code Online (Sandbox Code Playgroud)
但是如果我在错误行上放置像 #@$%$ 这样的垃圾,我在任何地方都不会收到错误消息。
Edit2: 问题出在 httpd.conf 文件中。我不知道它是什么,因为它是由其他人修复的。
我可以看到一些可能的解决方案来解决您的问题。这些是您将遇到的最常见问题:
#@$%$
来诱发错误。但是,PHP 将以散列开头的任何行都视为注释,因此永远不会评估该行,因此永远不会触发错误条件。php.ini
您应该注意2 个不同的文件;一种用于 Apache,一种用于 PHP CLI。如果您的脚本是从 Web 浏览器调用的,请确保您编辑的那个是 Apache 的那个。该文件所在的目录因发行版而异,但默认路径通常是/etc/php/apache/php.ini
php.ini
文件后重新启动 Apache ,或者向 Apache 发送 SIGHUP 以强制重新读取配置文件。error_reporting
和log_errors
配置变量可以覆盖当地一个Apache虚拟主机文件中,甚至在PHP脚本本身。确保默认服务器配置不会在您使用的虚拟主机的 Apache 配置中本地覆盖这些变量。/var/log/php.log
文件的权限需要是 Apache 可写的。将此文件的所有者设置为系统上的 Apache 用户通常是安全的(Apache 用户通常是www-data
或apache
)。 归档时间: |
|
查看次数: |
24141 次 |
最近记录: |