【问题标题】:Symfony2 Exception on web/web_dev.phpweb/web_dev.php 上的 Symfony2 异常
【发布时间】:2011-07-17 18:40:05
【问题描述】:

按照 Symfony2 指南,它说要查看 web/web_dev.php,但我得到了一个例外.. app/check.php 一切正常,除了一个可选测试失败:

[[WARNING]] Checking that the intl ICU version is at least 4+: FAILED
            *** Upgrade your intl extension with a newer ICU version (4+) ***

这是个例外:

RuntimeException: Unable to create the cache directory (/var/www/projectname/www/Symfony/app/cache)
in /var/www/projectname/www/Symfony/app/bootstrap.php.cache line 1197
at Kernel->buildContainer() in /var/www/projectname/www/Symfony/app/bootstrap.php.cache line 1138
at Kernel->initializeContainer() in /var/www/projectname/www/Symfony/app/bootstrap.php.cache line 869
at Kernel->boot() in /var/www/projectname/www/Symfony/app/bootstrap.php.cache line 1038
at Kernel->loadClassCache() in /var/www/projectname/www/Symfony/web/app_dev.php line 12

提前感谢任何人告诉我如何解决这个问题

【问题讨论】:

  • 创建一个具有足够权限(例如 0777)的app/cache 目录就足够了。

标签: php symfony


【解决方案1】:

错误信息很清楚:无法创建缓存目录 - 用户 apache 运行为对您的项目 root 没有写权限。

假设它是一个开发环境,我建议将项目文件夹分配给您的用户和网络服务器组。

【讨论】:

    【解决方案2】:

    仅供参考。 我在 Mac 上本地工作时遇到了同样的问题,不得不更改两个目录的权限: 应用程序/缓存 应用程序/日志

    每个目录上的“命令 i”并将每个人的权限设置为“读写”(并应用于封闭项目)就可以了。

    【讨论】:

      【解决方案3】:

      参考 Symfony2 文档中的“设置权限”:

      http://symfony.com/doc/current/book/installation.html

      1. 在支持 chmod +a 的系统上使用 ACL 代码:全选 sudo chmod +a "apache 允许删除、写入、追加、file_inherit、directory_inherit" 应用程序/缓存应用程序/日志

      结果: chmod:无效模式:`+a'

      1. 在不支持 chmod +a 的系统上使用 Acl 代码:全选 sudo setfacl -R -m u:apache:rwx -m u:myname:rwx app/cache app/logs

      结果: sudo: setfacl: 找不到命令

      1. 不使用 ACL 取消注释“//umask(0000);”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-03
        • 2013-03-14
        • 2014-08-02
        • 2015-05-21
        • 1970-01-01
        • 2014-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多