我在Ubuntu 12.04 LTS上运行Nginx 1.1.19和PHP 5.5.7的服务器设置。启用opcache后,如果我的development
和production
环境中的文件相同,则该文件将始终从production
运行。但是,如果我在任一文件中只更改一个字符,PHP将正确运行正确的脚本。
例如,如果我将同一项目克隆到两个不同的目录,并且我在两者之间唯一更改的是配置文件中的APP_ENV
环境变量,每当我将浏览器指向{{1在环境中,加载了development
配置中的所有数据库参数。
如果我关闭production
,奇怪的行为就会停止,一切都会按照我的预期发挥作用。
我可以设置opcache
配置参数,以强制PHP解析正确的脚本位置吗?我尝试将opcache
设置为revalidate_path
,但这只是解决了问题(指向1
或production
总是产生development
环境。
现在我刚刚关闭development
,但我想了解更多信息。
答案 0 :(得分:0)
简答:是 - 取自answer over on ServerFault I provided to a similar question:
确保
opcache.use_cwd
参数设置为true
,用于应用程序的OpCache配置 - 默认情况下设置为false
并将其设置为默认值可能会导致冲突(如果您'在您的系统上托管多个PHP应用程序...
最初发布时,opcache.us_cwd
被设置为默认值false
- 这就是我从Zend自己在Ubuntu 14.04 Zend Server AMI上获得它的方式,尽管我听说一些现代发行版已经改变默认设置,从false到true。我没有亲自见过任何内容,但是您的设置值得确认,以验证TerryE'的评论对于您的虚拟主机上的特定配置是否准确。