我们一直在做一个项目几个月,没有任何问题,直到一套最近的更新。 服务器运行的是Amazon Linux AMI版本2010.11.1,其中Apache 2.2.16和PHP 5.3.3。 该项目被分成几个独立的开发者分支,作为虚拟主机运行,每个分支都有一个包括Zend Framework 1.11.3在内的所有代码的完全独立的副本。 该项目还包括教条2.0.1,但我不认为这是问题的地方。 我过去曾试用过APC,但是现在我甚至没有安装它。 当多个用户通过不同的分支到达服务器时,这个问题似乎发生得最多。 我怀疑这个问题可能与Zend Framework引导过程中需要的某些核心类的不同版本有关,但我无法弄清楚什么是根本原因。 我们试图迫使所有分支机构与我们的git repo版本相同,然后重新启动Apache。 这暂时解决了这个问题,但很快就会回来。 这一切都是在一周前开始的,当时我仅仅为Linux,PHP和Zend Framework安装了一套主stream更新。 当问题发生时,它甚至会传播到我们的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 /var/www/dev/library/Zend/Loader/Autoloader.PHP on line 194,referer: https://foo.bar/admin/asset_manage/search [Wed Mar 02 20:32:40 2011] [error] [client 127.0.0.1] PHP Fatal error: Class 'Zend_Config_Ini' not found in /var/www/dev/library/Zend/Application.PHP on line 383,referer: https://foo.bar/admin/asset_manage/search
如何在Amazon EC2 ubuntu服务器上设置GUI
AWS实例运行时间
如何解决EC2实例中的500 OOPS:vsf_sysutil_recv_peek错误?
使用terraform,Chef或Powershell以编程方式设置EBS卷的Windows驱动器盘符
通过sshlogin到Amazon EC2
那么,经过这个问题的痛苦之后,事实证明这个问题是由PHP realpath_cache的行为改变引起的。 当我在我的PHP.ini中设置realpath_cache_ttl = 0时,不正确加载类的问题就消失了。
我不确定这些更新是如何引入的,但是我并不认为开发包需要缓存,所以这让我回到了正轨。 在生产服务器上,我应该只有一个应用程序实例运行在每个Apache服务器上(无虚拟主机),所以我可以在这种情况下使用缓存。
如果有人对realpath_cache问题的原因有任何进一步的了解,我不会介意听到这个问题。
这是PHP 5.3.2中的一个错误(请参阅https://bugs.PHP.net/bug.PHP?id=52083和https://bugs.PHP.net/bug.PHP?id=50027 )。 该错误在PHP 5.3.3中修复。
我们遇到了类似的服务器设置问题 – 一个PHP应用程序,它使用Zend Framework 1.11.1和Doctrine 2在Nginx上运行,在Amazon云上的Ubuntu实例上使用PHP-fpm。 重新启动PHP-fpm之后,问题似乎消失了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。