我正在尝试安装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并遵循作曲家的方法。我在网上看到apache应该手动运行而不是作为服务运行,但是我使用的是nginx。阿帕奇还有什么影响吗?我正在使用debian squeeze。
编辑:根据AdrienBrault的建议,错误是因为时区未在php.ini中设置。只有--verbose我才能看到警告。谢谢你们。
答案 0 :(得分:8)
Apache不相关 - 通过命令行调用PHP。
最有可能是缓存文件夹中的权限:您是否检查了运行composer update的用户是否可以实际写入缓存文件夹?
尝试手动运行rm -Rf app/cache/dev
(对于生产环境,用prod替换dev),看看是否有任何权限错误。
如果在CLI中运行时未在php中配置default.timezone
设置,则会出现此错误。验证只是运行
php --info | grep timezone
并检查设置date.timezone
是否已正确配置。
在安全方面,将777设置为文件夹不是最佳解决方案 - 如果启用了ACL,则可以使用它来正确设置缓存和日志文件夹的权限。阅读Symfony2 official installation page
了解更多信息答案 1 :(得分:1)
我有一段时间同样的问题,经过几个小时的面对面的敲击,我意识到......我的项目中有一个.gitmodule,在初始结账时这些子模块没有初始化,因此不适用于你的作曲家要更新,这会导致上述错误。
确保运行以下
git submodule update --init src/Acme/Sadness/Bundle
当然用您的项目命名空间替换 src / Acme / Sadness / Bundle 。
希望这有助于某人不会经历我刚才所做的同样的痛苦。
答案 2 :(得分:0)
如果您已经有供应商文件夹,我会将其删除并通过“composer.phar install”再次安装symfony 2.1.3。问题可能来自过时的作曲家版本
答案 3 :(得分: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
我希望这项工作适合你为我工作
问候 埃米利亚诺