Symfony2 Composer安装

时间:2012-11-12 05:29:02

标签: symfony debian composer-php

我正在尝试安装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我才能看到警告。谢谢你们。

4 个答案:

答案 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

我希望这项工作适合你为我工作

问候 埃米利亚诺