我正在尝试安装Symfony 2.1.3(最新)。我正在运行作曲家并安装一切正常。我得到的唯一错误是:
Script SensioBundleDistributionBundleComposerScriptHandler::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并遵循作曲家的方法。我在互联网上读到apache应该手动运行而不是作为服务运行,但是我正在使用nginx。阿帕奇还有关系吗?我正在使用 debian squeeze。
编辑:根据AdrienBrault的建议,错误是因为时区未在php.ini中设置。只有 --verbose 我才能看到警告。谢谢大家。
Apache 不相关 - PHP 是通过命令行调用的。
最有可能的是缓存文件夹中的权限:您是否检查了运行作曲家更新的用户是否真的可以写入缓存文件夹?
尝试手动运行rm -Rf app/cache/dev
(对于生产环境,将 dev 替换为 prod),看看是否收到任何权限错误。
如果在 CLI 中运行时未在 php 中配置default.timezone
设置,您也会收到此错误。要验证,只需运行
php --info | grep timezone
并检查设置date.timezone
配置是否正确。
在安全方面,将 777 设置为文件夹不是最佳解决方案 - 如果您启用了 ACL,则可以使用它来正确设置缓存和日志文件夹的权限。在Symfony2官方安装页面阅读更多内容
我有一段时间有同样的问题,经过几个小时的面对面敲打砖墙,我意识到......我的项目中有一个 .gitmodule,在初次结帐时,这些子模块没有初始化,因此您的作曲家无法更新,这会导致上述错误。
确保运行以下内容
git submodule update --init src/Acme/Sadness/Bundle
当然,将 src/Acme/Sadness/Bundle 替换为 YOUR 项目命名空间。
希望这有助于某人不要经历我刚刚经历的痛苦。
如果你已经有供应商文件夹,我会删除它并通过"composer.phar install"再次安装 symfony 2.1.3。问题可能来自过时的作曲家版本
我遇到了同样的问题,我以这种方式解决了。
在控制台上执行此操作你应该看到这样的东西
$ locate php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini
第一行可能是你的 php.ini当你做一个 phpinfo() 时会出现;
问题是,当您执行作曲家更新时,不检查相同的PHP.ini
在我的情况下,第二行
我所有的网站都运行良好,但总是遇到问题,现在没有编辑第二个文件并输入您在第一个文件中设置的相同时区后
跑
$ sudo service apache2 reload
现在
$ composer update
我希望这对你来说就像对我的工作一样
问候埃米利亚诺