【问题标题】:Why does php script die at log_message?为什么 php 脚本在 log_message 处死掉?
【发布时间】:2013-08-07 21:34:29
【问题描述】:

什么会导致我的脚本死在这一行:

log_message('debug', "Config Class Initialized");

详情:

此行位于 codeigniter system/core/config.php 文件中,并且位于以前可以运行的站点上,但是我刚刚将其安装到新的 CentOS 6.4 虚拟机中。

我怀疑这是一些 apache 配置问题。

【问题讨论】:

  • 你试过查看调试日志吗?

标签: php apache codeigniter


【解决方案1】:

你可能有不同版本的 PHP

【讨论】:

  • 我确实有不同的版本,但这不是问题。我将它追踪到 EP_Log.php 中的一行,它试图在日志文件上执行群发。如果我注释掉羊群,它会起作用。我相信群体不工作的原因与我的目录在虚拟机和主机之间共享的方式有关。我已经通过使用我在 vagrant 中设置的 nfs 文件系统来完成此操作。这可能会导致另一个问题......
【解决方案2】:

为什么这行代码不起作用的答案是我使用nfs(网络文件系统)作为从主机访问我的虚拟机文件夹(包含我的代码)的方式,并且flock函数不起作用nfs。

对我来说,解决方案是简单地注释掉所有使用flock的行,我认为由于这是一个本地开发环境,因此不太可能需要阻止多个用户写入错误日志之类的文件.

一个更好的解决方案是使用 php runkit 重新定义flock 函数,以便它什么都不做,但我还没有弄清楚这一点。这样做更好的原因是我可以让一个文件(例如我的索引)重新定义函数,然后我不必使用 cmets(或 svn 忽略)对所有文件进行 gitignore。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2012-04-29
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多