5

我正在尝试安装 Symfony 2.1.3(最新)。我正在运行作曲家并安装一切正常。我得到的唯一错误是:

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache 
handling the  post-install-cmd event terminated with an exception

[RuntimeException]                                                         
An error occurred when executing the "'cache:clear --no-warmup'" command. 

它被安装在 www 文件夹下。我正在运行 nginx 并遵循 composer 方法。我在互联网上读到 apache 应该手动运行而不是作为服务运行,但是我使用的是 nginx。apache是​​否仍然与它有任何关系?我正在使用Debian挤压。

编辑:根据 AdrienBrault 的建议,错误是因为时区未在 php.ini 中设置。只有使用 --verbose 我才能看到警告。多谢你们。

4

4 回答 4

8

Apache 不相关 - 通过命令行调用 PHP。

最有可能是缓存文件夹中的权限:您是否检查过运行 composer update 的用户是否真的可以写入缓存文件夹?

尝试手动运行rm -Rf app/cache/dev(对于生产环境,将 dev 替换为 prod)并查看是否出现任何权限错误。

default.timezone如果在 CLI 中运行时未在 php 中配置设置,您也会收到此错误。验证只是运行

php --info | grep timezone

并检查设置date.timezone是否正确配置。

在安全方面,将 777 设置为文件夹并不是最佳解决方案 - 如果您启用了 ACL,您可以使用它来正确设置缓存和日志文件夹的权限。在Symfony2 官方安装页面阅读更多内容

于 2012-11-12T08:28:57.787 回答
1

我有一段时间遇到同样的问题,经过数小时的砖墙撞击后,我意识到......我的项目中有一个 .gitmodule,并且在初始结帐时,这些子模块没有初始化,因此您的作曲家不存在更新,导致上述错误。

确保运行以下

git submodule update --init src/Acme/Sadness/Bundle

当然,用您的项目命名空间替换src/Acme/Sadness/Bundle 。

希望这可以帮助别人不会经历我刚刚经历的同样痛苦。

于 2014-05-20T23:29:38.970 回答
0

如果您已经有供应商文件夹,我会删除它并通过“composer.phar install”再次安装 symfony 2.1.3。问题可能来自作曲家的过时版本

于 2012-11-12T09:42:20.103 回答
0

我有同样的问题,我以这种方式解决。

在控制台上执行此操作,您应该会看到类似这样的内容

$ locate php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini

第一行可能是您执行 phpinfo() 时出现的 php.ini;

问题是当你执行 composer update 这没有检查相同的 php.ini

在我的情况下,第二行

我所有的网站都可以正常工作,但在编辑第二个文件并将您在第一个文件中设置的时区放入相同的时区之后,我现在总是没有问题

$ sudo service apache2 reload

现在

$ composer update

我希望这项为你工作的工作就像为我工作一样

问候埃米利亚诺

于 2014-12-03T18:14:42.520 回答