【问题标题】:PHP error_log() not writing to log - OSX El CapitanPHP error_log() 未写入日志 - OSX El Capitan
【发布时间】:2016-09-09 00:00:57
【问题描述】:

我正忙着让我的 PHP error_log() 调用实际记录任何内容。我正在使用 OSX El Capitan,安装了所有最新更新(我现在在 10.11.4 上),但 error_log() 调用只是拒绝写入任何内容。

我的 httpd-vhosts.conf 设置如下:

NameVirtualHost *:80

<VirtualHost local.mysite:80>
ServerAdmin myfakeemailaddress@noneofyour.biz
DocumentRoot "/Volumes/Coding/mysite/"
ServerName local.mysite:80
<directory "/Volumes/Coding/mysite/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</directory>
php_value error_log "/Volumes/Coding/mysite/error.log"
CustomLog "/Volumes/Coding/mysite/access.log" common
</VirtualHost>

error.log 文件的权限使得该死的世界中的任何人都可以用它做任何他们想做的事,所以这不是权限问题。

php.ini 文件确认错误日志文件正是上面指定的位置。

我正在使用 CodeIgniter 3。在 config.php 文件中,我有以下几行:

$config['log_threshold'] = 4;
$config['log_path'] = '/Volumes/Coding/mysite/error.log';

“mysite”文件夹的权限也设置为允许写入。

那么我还应该检查什么?

【问题讨论】:

  • 你在运行mod_php吗? php_value 条目仅在使用模块时有效,而不适用于任何 CGI 库/扩展。你为什么不在你的 docroot 中尝试一个.user.ini 文件呢
  • 好吧,我的 httpd.conf 中有这个:LoadModule php5_module libexec/apache2/libphp5.so 这告诉我是的,它是 mod_php。

标签: php codeigniter osx-elcapitan error-log


【解决方案1】:

嗯,这是一次经历……

原来默认情况下日志是关闭的,并且没有 php.ini 来启用它。我添加了一个只有这一行的 php.ini:

log_errors = On

我在 index.php 文件中输入了一个测试 error_log() 并且......它成功了!但是,我输入的其他 error_log() 命令没有触发。

经过一番挣扎,结果我完全忘记了 error_log() 没有触发的代码是......不再使用的代码!我忘了我把那个功能移到了 AngularJS...

不管怎样,问题解决了!

【讨论】:

    猜你喜欢
    • 2016-01-27
    • 2017-01-14
    • 2015-12-29
    • 2016-05-18
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    相关资源
    最近更新 更多