7

我似乎在共享主机的缓存权限方面遇到了一些问题。具体来说,当我尝试通过 Composer 安装/更新供应商时,我得到一个运行时异常:

$ php composer.phar update -v -o

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

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

Exception trace:
() at /home/thesewingdiva/private/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:137
Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /home/thesewingdiva/private/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:48
Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Script/EventDispatcher.php:122
Composer\Script\EventDispatcher->executeEventPhpScript() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Script/EventDispatcher.php:101
Composer\Script\EventDispatcher->doDispatch() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Script/EventDispatcher.php:74
Composer\Script\EventDispatcher->dispatchCommandEvent() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Installer.php:237
Composer\Installer->run() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Command/UpdateCommand.php:82
Composer\Command\UpdateCommand->execute() at phar:///home/thesewingdiva/private/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:238
Symfony\Component\Console\Command\Command->run() at phar:///home/thesewingdiva/private/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:193
Symfony\Component\Console\Application->doRun() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Console/Application.php:101
Composer\Console\Application->doRun() at phar:///home/thesewingdiva/private/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:106
Symfony\Component\Console\Application->run() at phar:///home/thesewingdiva/private/composer.phar/src/Composer/Console/Application.php:74
Composer\Console\Application->run() at phar:///home/thesewingdiva/private/composer.phar/bin/composer:37
require() at /home/thesewingdiva/private/composer.phar:15

update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

我没有使用 ACL 的能力,也没有使用 sudo 的能力,因为它是共享主机。缓存因其权限(递归)而设置为 777,并且 app/console、app.php 和 app_dev.php 都具有 umask(0000)。我还删除了缓存,看看是否有帮助。没有骰子。有想法该怎么解决这个吗?

4

3 回答 3

4

此问题下的评论中,指出该问题与缺少时区设置有关。

如果你执行“php app/console cache:clear --verbose”会发生什么

于 2012-12-31T21:17:46.543 回答
2

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

确保运行以下

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

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

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

于 2014-05-20T23:35:09.393 回答
0

要找出异常的确切原因,请参阅 php 错误日志。但是,正如 Jared Farrish 所提到的,这可能是由于未在 php ini 设置中设置时区。

#/etc/php5/cli/php.ini
date.timezone = 'Asia/Kolkata'
log_errors = On
error_log = /var/log/php/error.log
于 2013-11-14T16:16:23.183 回答