Doctrine - 生产服务器上的警告消息

时间:2011-12-13 18:05:29

标签: php linux permissions doctrine-orm

我无法确定导致这种情况的原因,我知道这是一个很长的镜头 - 但有谁知道这个错误可能意味着什么?它在我的本地主机上运行得非常好。

  

警告:   file_put_contents(/tmp/NinjaspinCoreEntitiesTemplateProxy.php)   [function.file-put-contents]:无法打开流:权限被拒绝   在   /var/www/vhosts/quickbrownfox.in/httpdocs/ninja/vendor/Doctrine/ORM/Proxy/ProxyFactory.php   在第155行

我已尝试为整个目录设置所有必需的写入权限,但我仍然收到此错误。

2 个答案:

答案 0 :(得分:2)

我知道我已经过时了回答这个问题。但我有完全相同的问题,也不知道为什么,权限和一切都没问题。

然后我意识到我在生产设置下的application.ini上设置了自动生成代理 true 的选项。 (我正在使用Zend和Bisna的Doctrine 2.1)

这导致Doctrine在每个请求中重新生成代理,因此它试图用新的代理覆盖现有的代理,并尝试同时读取它们,或类似的东西。它有点疯狂,但这就是它的工作方式(自动生成代理只能在开发中完成,无论如何)

希望这会有所帮助。

修改

我还阅读了here,处于开发模式时默认启用此功能。

答案 1 :(得分:0)

您的/tmp目录似乎没有正确的权限。

在标准发行版中,此目录的默认权限为rwx rwx rwt。如果您按照下面的说明修改此权限,则不会再出现任何问题。

sudo chmod 1777 /tmp