2

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

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

如果我关闭opcache电源,奇怪的行为就会停止,一切都会按我的预期进行。

我可以设置一个opcache配置参数来强制 PHP 解析正确的脚本位置吗?我尝试设置revalidate_path1,但这只是改变了问题(指向production或者development总是产生development环境。

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

4

1 回答 1

0

简短答案:是的-取自我提供给类似问题的 ServerFault 的答案

确保该opcache.use_cwd参数设置true为您的应用程序的 OpCache 配置 -false默认情况下设置为默认值,如果您在系统上托管多个 PHP 应用程序,则将其设置为默认值可能会导致冲突...

最初发货时,opcache.us_cwd设置为默认值false- 这就是我在 Zend 自己的 Ubuntu 14.04 Zend Server AMI 上获取它的方式,尽管我听说一些现代发行版已将默认设置从 false 更改为 true。我个人没有看到任何内容,但值得确认您的设置,以验证TerryE的评论对于您的虚拟主机上的特定配置是否准确。

于 2015-07-15T13:42:17.250 回答