我在共享主机上,有cPanel, Apache, PHP是由FastCGI运行的。PHP在哪里存储错误日志?
是否有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问PHP .ini文件(我使用PHP 5.2.16版本)。
我在共享主机上,有cPanel, Apache, PHP是由FastCGI运行的。PHP在哪里存储错误日志?
是否有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问PHP .ini文件(我使用PHP 5.2.16版本)。
当前回答
如果您从源代码构建Apache和PHP,那么错误日志默认生成在${Apache安装目录}/logs/error_log,即通常为/usr/local/apache2/logs/error_log。
否则,如果您已经从存储库中安装了它,则会在/var/log/apache2/error_log中找到它。
你也可以在php.ini中设置路径,并通过调用phpinfo()来验证它。
其他回答
在php.ini文件中设置error_log变量时应使用绝对路径,否则错误日志将根据相对路径存储。
error_log = /var/log/php.errors
其他解决方案是编写简单的脚本,从目录树中列出所有错误日志文件。
如果你使用php5-fpm默认日志,它应该在下面:
/var/log/php5-fpm.log
php --info | grep error
这很有帮助。
默认情况下,PHP似乎不会在任何地方记录错误。在我看到的所有安装中,php.ini中的error_log键都被注释掉了。
通常我:
寻找php.ini文件。找到php . ini。 在这些文件中搜索error_reporting值; 它应该被设置为PHP日志级别的任意组合。 例如:E_ALL & ~E_DEPRECATED & ~E_STRICT 检查error_log值,确保它指向一个实际的位置,没有被注释掉。 默认值没有给出完整的路径,只有一个文件名,我不知道这个路径通常解析到哪里。可能/var/log/.
如何找到你的PHP错误日志在Linux:
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