我快速地开发了一个本地脚本,并让它在命令行上运行。我没有安装服务器。
我的php ini位于/usr/local/etc/php/7.4/php.ini
我通过以下方式激活错误日志
error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /var/log/php_errors.log我保存了更改,但没有找到写入/var/ log /php_errors.log的日志。
我要做什么才能将错误记录到文件中?
输出,输出
$ php --ini
Configuration File (php.ini) Path: /usr/local/etc/php/7.4
Loaded Configuration File: /usr/local/etc/php/7.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/7.4/conf.d
Additional .ini files parsed: /usr/local/etc/php/7.4/conf.d/ext-opcache.ini
$ which php
/usr/local/bin/php发布于 2020-11-02 13:24:50
我的理解是,php以与bash脚本相同的方式将错误输出到命令行。因此,您可以以同样的方式将错误输出到自己的日志文件中。
下面是一个简单的脚本文件error_test.php,它有两个命令。首先回送一个字符串-秒回送一个未定义的变量,该变量将创建一个错误:
<?php
echo "hello\n";
echo $test;将脚本作为
php error_test.php它将输出以下内容:
hello
PHP Notice: Undefined variable: test in /home/phi/Projects/sandbox/error_test.php on line 3就像bash脚本一样,我们可以用2>将stderr输出重定向到文件。
php error_test.php 2> error.log
cat error.log这将在每次运行命令时替换日志文件。若要将错误附加到日志文件,请使用2>>。
php error_test.php 2>> error.log若要忽略错误,请重定向到/dev/null
php error_test.php 2>> /dev/nullhttps://stackoverflow.com/questions/63845032
复制相似问题