PHP*_*VER 375 php error-handling
我在共享主机上有Cpanel,Apache,PHP由fastcgi运行.PHP存储错误日志在哪里?
有没有其他方法可以在共享主机环境中找到错误日志,而不必通过整个站点结构来查找error_log文件?
我可以访问php.ini(我使用的是PHP版本5.2.16).
Ada*_*old 299
/var/log/apache2如果php是apache2模块,Php会存储错误日志.共享主机通常将日志文件存储在根目录/log子文件夹中.但是......如果你有权访问php.ini文件,你可以这样做:
error_log = /var/log/php-scripts.log
Run Code Online (Sandbox Code Playgroud)
根据rinogo的评论:如果你正在使用cPanel,你可能正在寻找的主日志文件存储(默认情况下)
/usr/local/apache/logs/error_log
Run Code Online (Sandbox Code Playgroud)
如果所有其他方法都失败,您可以使用检查日志文件的位置
<?php phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)
che*_*rtz 84
尝试phpinfo()并检查"error_log"
Cul*_*lub 47
php --info | grep error
Run Code Online (Sandbox Code Playgroud)
终端将输出错误日志位置.
php --info | findstr /r /c:"error_log"
Run Code Online (Sandbox Code Playgroud)
命令提示符将输出错误日志位置
打开php.ini并添加以下行:
error_log = /log/myCustomLog.log
Run Code Online (Sandbox Code Playgroud)
感谢@chelmertez,@ Bob这些(对问题的评论).
小智 31
在LAMP环境中,php错误默认指向此文件下方.
/var/log/httpd/error_log
Run Code Online (Sandbox Code Playgroud)
所有访问日志都包含在:
/var/log/httpd/access_log
Run Code Online (Sandbox Code Playgroud)
Eri*_*ski 16
如何在Linux上找到PHP错误日志:
eric@dev /var $ sudo updatedb
[sudo] password for eric:
eric@dev /var $ sudo locate error_log
/var/log/httpd/error_log
Run Code Online (Sandbox Code Playgroud)
另一种等效方式:
eric@dev /home/eric $ sudo find / -name "error_log" 2>/dev/null
/var/log/httpd/error_log
Run Code Online (Sandbox Code Playgroud)
mai*_*ilo 11
在php.ini文件中设置error_log变量时应该使用绝对路径,否则,将根据您的相对路径存储错误日志.
error_log = /var/log/php.errors
Run Code Online (Sandbox Code Playgroud)
其他解决方案是编写简单的脚本,列出目录树中的所有错误日志文件.
Tho*_*ner 11
看来默认情况下php 不会在任何地方记录错误,error_logphp.ini中的键在我看过的所有安装中都被注释掉了.
一般我:
locate php.ini.在这些文件中搜索该error_reporting值;
哪个应该设置为php日志级别的任何合并都足够你.,
例如: E_ALL & ~E_DEPRECATED & ~E_STRICT
检查error_log值以确保它指向实际位置并且未注释掉.
默认值不提供完整路径,只提供文件名,我不知道此路径正常解析的位置.可能/var/log/.
Viv*_*vek 10
它也可能/var/log/apache2/error.log是你在谷歌计算引擎.
你可以像这样查看尾巴:
tail -f /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)
php --info | grep error
Run Code Online (Sandbox Code Playgroud)
这很有帮助。sjas 对问题发表评论。所以我把它作为答案。
如果你从源代码编译Apache和PHP,则默认错误日志在你的生成${Apache install dir}/logs/error_log,即一般/usr/local/apache2/logs/error_log.否则,如果您已从存储库安装它,您将在其中找到它./var/log/apache2/error_log您可以在您的路径中设置路径php.ini并通过调用进行验证phpinfo().
最好的方法是查看httpd.conf文件并查看默认值.它也可能被您的特定虚拟主机覆盖.我首先查看/etc/httpd/conf/httpd.conf或/etc/apache2/httpd.conf搜索error_log.它可以列为/ var/log/httpd/error_log,/var/log/apache2/error_log但也可以简单列出logs/error_log.
在这种情况下,它是一个相对路径,这意味着它将在下面/etc/httpd/logs/error_log.如果仍然找不到它,请检查httpd.conf文件的底部并查看虚拟主机的包含位置.它可能在/etc/httpd/conf.d/<-中作为"其他"或"额外".您的虚拟主机可以使用ErrorLog"/ path/to/error_log"覆盖它.
| 归档时间: |
|
| 查看次数: |
865294 次 |
| 最近记录: |