如何配置PHP 5.5 opcache以便我可以在不同的环境中运行相同的脚本?

时间:2014-03-10 18:08:45

标签: php nginx opcache

我在Ubuntu 12.04 LTS上运行Nginx 1.1.19和PHP 5.5.7的服务器设置。启用opcache后,如果我的developmentproduction环境中的文件相同,则该文件将始终从production运行。但是,如果我在任一文件中只更改一个字符,PHP将正确运行正确的脚本。

例如,如果我将同一项目克隆到两个不同的目录,并且我在两者之间唯一更改的是配置文件中的APP_ENV环境变量,每当我将浏览器指向{{1在环境中,加载了development配置中的所有数据库参数。

如果我关闭production,奇怪的行为就会停止,一切都会按照我的预期发挥作用。

我可以设置opcache配置参数,以强制PHP解析正确的脚本位置吗?我尝试将opcache设置为revalidate_path,但这只是解决了问题(指向1production总是产生development环境。

现在我刚刚关闭development,但我想了解更多信息。

1 个答案:

答案 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'的评论对于您的虚拟主机上的特定配置是否准确。