Php Symfony2:清除后站点停止工作:缓存

Php Symfony2:清除后站点停止工作:缓存,php,symfony,caching,Php,Symfony,Caching,我正在更新一个symfony2网站,每次在控制器或小枝文件中更新后,我运行“php应用程序/控制台缓存:清除”,网站停止工作5分钟,然后再次工作。更新很少之后,我清除了缓存,站点不想再运行了,我有500个内部服务器错误,symfony的日志文件中没有条目,但我在php日志中发现: [Thu Sep 24 08:10:05 2015] [error] [client 1.2.3.4] FastCGI: server "/run/fcgi-bin/www.mysite.com:80.fcgi" st

我正在更新一个symfony2网站,每次在控制器或小枝文件中更新后,我运行“php应用程序/控制台缓存:清除”,网站停止工作5分钟,然后再次工作。更新很少之后,我清除了缓存,站点不想再运行了,我有500个内部服务器错误,symfony的日志文件中没有条目,但我在php日志中发现:

[Thu Sep 24 08:10:05 2015] [error] [client 1.2.3.4] FastCGI: server "/run/fcgi-bin/www.mysite.com:80.fcgi" stderr: PHP message: PHP Warning:  require_once(/var/www/mysite.com/app/cache/prod/jms_diextra/doctrine/EntityManager_5602df03afff5.php): failed to open stream: No such file or directory in /var/www/mysite.com/app/cache/prod/appProdProjectContainer.php on line 279

[Thu Sep 24 08:10:05 2015] [error] [client 1.2.3.4] FastCGI: server "/run/fcgi-bin/www.mysite.com:80.fcgi" stderr: PHP message: PHP Fatal error:  require_once(): Failed opening required '/var/www/mysite.com/app/cache/prod/jms_diextra/doctrine/EntityManager_5602df03afff5.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/mysite.com/app/cache/prod/appProdProjectContainer.php on line 279
这似乎是实体问题,但我确信我没有实体更新。我甚至试图通过上传所有原始文件来回滚,但没有办法

我不明白:

  • 为什么每次缓存后我必须等待5分钟:清除
  • 日志错误意味着什么

  • 非常感谢:)

    您的
    缓存
    目录(和/或
    日志
    目录)上似乎存在文件权限问题


    请尝试
    chmod-R 777 app/cache app/logs
    并告诉我们您是否仍有问题


    您还可以检查umask技巧,这可能对您的情况有所帮助。

    它看起来像是
    缓存
    目录(和/或
    日志
    目录)上的文件权限问题


    请尝试
    chmod-R 777 app/cache app/logs
    并告诉我们您是否仍有问题


    您还可以检查中的umask技巧,这可能对您的情况有所帮助。

    我按照tchap发布的URL中的说明进行了操作。 我不知道为什么
    cache:clear
    会抛出这个bug,但我测试了它,它可以工作:

  • 手动删除
    /app/cache/prod/
    文件夹

  • 运行:

    app/console cache:warmup
    

  • 我按照tchap发布的URL中的说明进行操作。 我不知道为什么
    cache:clear
    会抛出这个bug,但我测试了它,它可以工作:

  • 手动删除
    /app/cache/prod/
    文件夹

  • 运行:

    app/console cache:warmup
    

  • 更好:确保服务器上的php进程对缓存文件夹具有写权限(以及相关日志)。在这种情况下,777可以调试,但是是的,没错。777用于本地安装。应该在生产实例中强制执行适当的权限和用户权限“问题”是站点现在正在运行,没有任何操作,因此我无法尝试您的解决方案!但当它关闭时,我尝试了“chmod-r777应用程序/缓存”,但没有成功。我想知道:如果这是一个正确的问题,为什么早期的cache:clear工作得很好?可能还与此相关:?chmod-R 777 app/cache app/logs没有解决问题!更好:确保服务器上的php进程对缓存文件夹具有写权限(以及相关日志)。在这种情况下,777可以调试,但是是的,没错。777用于本地安装。应该在生产实例中强制执行适当的权限和用户权限“问题”是站点现在正在运行,没有任何操作,因此我无法尝试您的解决方案!但当它关闭时,我尝试了“chmod-r777应用程序/缓存”,但没有成功。我想知道:如果这是一个正确的问题,为什么早期的cache:clear工作得很好?可能还与此相关:?chmod-R 777 app/cache app/logs没有解决问题!