centos 我在哪里可以找到PHP的错误日志文件?

a14dhokn  于 2022-11-08  发布在  PHP
关注(0)|答案(8)|浏览(384)

在哪里可以找到错误日志文件?
我需要检查它们,以解决安装suPHP后显示的内部服务器错误。

trnvg8h3

trnvg8h31#

您可以使用lsof来查找系统中打开的日志文件。lsof只是提供了所有打开文件的列表。
对于“log”使用grep ...对于“php”再次使用grep(如果文件名包含字符串“log”和“php”,如“php_error_log”,并且您是root用户,则无需了解配置即可找到这些文件)。
第一个
另请参阅有关查找打开的日志文件的文章:Find open logfiles on a Linux system

2q5ifsrm

2q5ifsrm2#

如何将所有PHP错误记录到日志文件中?
只需在文件 /etc/php.ini 中添加以下行,即可将错误记录到指定的文件- file /var/log/php-scripts.log

vi /etc/php.ini

修改 error_log 指令:

error_log = /var/log/php-scripts.log

确保将 display_errors 设置为Off(不会向最终用户显示错误):

display_errors = Off

储存并关闭档案。重新启动Web服务器:

/etc/init.d/httpd restart

如何将错误记录到系统日志或Windows Server事件日志?
修改 error_log,如下所示:

error_log = syslog

我们怎么能看到日志?
使用ssh登录或使用SFTP下载日志文件/var/log/php-scripts. log:

sudo tail -f /var/log/php-scripts.log
envsm3lx

envsm3lx3#

在安装了cPanelCentOS上,我的日志位于:

/usr/local/apache/logs/error_log

观看:tail -f /usr/local/apache/logs/error_log

mqxuamgl

mqxuamgl4#

这取决于您使用的操作系统和Web服务器。
在Linux和Apache上,您可以在文件夹 /var/log/apache 2/ 中找到Apache * 错误日志 *。

xeufq47z

xeufq47z5#

这对你肯定有帮助,


"或者"
在 * php.ini * 中(vim /etc/php.ini * 或 * sudo vim /usr/local/etc/php/7.1/php.ini

display_errors = Off

log_errors = On

error_log = /var/log/php-errors.log

使日志文件可由用户 www-data 写入:

sudo touch /var/log/php-errors.log

/var/log/php-errors.log

sudo chown <owner>:www
bq3bfh9z

bq3bfh9z6#

我使用的是CentOS 6.6Apache,错误日志文件位于:

/usr/local/apache/log
0s0u357o

0s0u357o7#

在大多数用例中,这是一个更好的答案,因为它允许您将软件的执行与对服务器平台的直接了解分离,这使您的代码更易于移植。但可以在web运行时将其设置为cron和CGI脚本从中提取的配置,以在这种情况下保持日志位置一致。
在运行时,您可以在任何平台上获取本机分配给PHP的当前日志文件,方法是使用:

ini_get('error_log');

这将返回由Web服务器直接分配给PHP二进制文件的值,这是您在90%的用例中所需要的(CGI是一个明显的例外)。CGI通常会将日志记录到与HTTP Web服务器客户端相同的位置,但并不总是如此。
在向其提交任何内容之前,您还需要检查其是否可写,以避免错误。定义其位置的配置文件(通常是全局的文件 apache.conf 或基于每个域的 vhosts.conf),但该配置并不确保文件权限允许在运行时进行写访问。

1wnzp6jl

1wnzp6jl8#

对于Unix CLI用户

很可能是没有设置 error_log ini文件条目。要验证:

php -i | grep error_log
// error_log => no value => no value

您可以在 * php.ini * CLI文件中设置它,或者只是简单地将所有标准错误快速地通过管道传输到一个文件中:

./myprog 2> myerror.log

随即急忙道:

tail -f myerror.log

相关问题