在最近的一系列更新之前,我们已经开展了几个月的项目,没有任何问题.服务器运行Amazon Linux AMI版本2010.11.1,Apache 2.2.16和PHP 5.3.3.该项目分为几个独立的开发人员分支,作为虚拟主机运行,每个分支都包含所有代码的完全独立的副本,包括Zend Framework 1.11.3.该项目还包括Doctrine 2.0.1,但我认为这不是问题所在.我过去曾尝试过APC,但我现在还没有安装它.当多个用户跨越不同分支访问服务器时,问题似乎发生得最多.我怀疑这个问题可能与Zend Framework引导过程中所需的某些核心类的不同版本有关,但我无法弄清楚根本原因是什么.我们已经尝试强制所有分支与我们的git repo处于同一版本,然后重新启动Apache.这暂时解决了这个问题,但很快又回来了.这一切都始于一周前,当时我只是为Linux,PHP和Zend Framework安装了一组主流更新.当问题发生时,它甚至会传播到我们的phpmyadmin虚拟主机,它甚至与Zend Framework没有任何关系.我很难过.以下是我们在Apache日志中看到的一组错误:
[Wed Mar 02 20:32:40 2011] [error] [client 127.0.0.1] PHP Warning: array_keys() expects parameter 1 to be array, null given in /var/www/dev/library/Zend/Loader/Autoloader.php on line 251, referer: https://foo.bar/admin/asset_manage/search
[Wed Mar 02 20:32:40 2011] [error] [client 127.0.0.1] PHP Warning: Invalid argument supplied for foreach() in /var/www/dev/library/Zend/Loader/Autoloader.php on line 345, referer: https://foo.bar/admin/asset_manage/search
[Wed Mar 02 20:32:40 2011] [error] [client 127.0.0.1] PHP Warning: array_key_exists() expects parameter 2 to be array, null given in …Run Code Online (Sandbox Code Playgroud)