PHP致命错误:无法为非对象调用重载函数

时间:2013-03-19 17:02:09

标签: php apache

我在apache error_log上看到了很多这样的错误。

我的设置:

  • 我有15个不同的网站使用相同的PHP帮助程序存储库(位于/usr/share/myphphelpers/helpers.php
  • 在每个网站上,我通过require_once('/ usr / share / myphphelpers / helpers.php')调用helpers.php文件。
  • 在特定功能上发生此错误 - 所有网站都调用此功能(该事件是用户触发的)

这可能是因为所有网站都使用相同的资源文件/功能吗?我该怎么办?

提前谢谢

2 个答案:

答案 0 :(得分:1)

虽然我还不确定触发此错误的代码部分,但我知道这是由服务器超载引起的。

我在负载均衡器下运行了两个m1.small Amazon实例,但他们无法处理所有流量。添加另一个实例解决了这个问题。

答案 1 :(得分:0)

如果它们都在同一个文件上工作,那么执行以下操作:添加行

<?php
    // ...
    if(!empty($_COOKIE[$dev = 'dev']) || !empty($_GET[$dev])){
        error_reporting(E_ALL);
        ini_set('display_errors', true);
    }
    // ...

在错误所在的文件中,看看会发生什么,各方都会工作,你检查一件事,只有你会看到所有的错误。

当然,您必须在网址中添加Cookie dev=1dev=1