Runtime exception with Composer install/update on shared hosting w/ Symfony2

17,090

Solution 1

In a comment under this question, it's pointed out that the issue has to do with a missing timezone setting.

What happens if you do "php app/console cache:clear --verbose"

Solution 2

I had this same issue for a while and after hours of face to brick wall pounding I realized... I have a .gitmodule in my project, and on initial checkout these submodules are NOT initialized and as such are not there for your composer to update, which results in the above error.

Make sure you run the following

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

of course replace src/Acme/Sadness/Bundle with YOUR project namespace.

Hope this helps someone not go through the same pain I just did.

Share:
17,090
Major Productions
Author by

Major Productions

This space for rent

Updated on June 13, 2022

Comments

  • Major Productions
    Major Productions almost 2 years

    I seem to be having some problems with cache permissions on shared hosting. Specifically, when I try to install/update vendors via Composer, I get a runtime exception:

    $ 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]
    

    I don't have the ability to use ACL, and I don't have the ability to use sudo since it's shared hosting. The cache is set to 777 for it's permissions (recursive), and app/console, app.php, and app_dev.php all have umask(0000). I've also erased the cache to see if that would help. No dice. Any ideas on how to fix this?

  • user276648
    user276648 almost 10 years
    Same problem with me, no default timezone. When going to web/config.php there was a message saying something was outdated and advising to run "composer update" again. Once the default timezone was set, the command ran successfully.