2012-12-30 29 views
7

Wygląda na to, że mam problemy z uprawnieniami do pamięci podręcznej w udostępnianym hostingu. W szczególności, gdy próbuję zainstalować/sprzedawców aktualizacji poprzez Composer, otrzymuję wyjątek środowiska wykonawczego:Wyjątek czasu wykonywania w przypadku instalacji/aktualizacji Composer w hostingu współdzielonym w/Symfony2

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

nie mam możliwość korzystania z ACL, a nie mam możliwość korzystania z sudo, ponieważ jest to dzielony hosting. Pamięć podręczna jest ustawiona na 777 dla jej uprawnień (rekurencyjnych), a app/console, app.php i app_dev.php mają wszystkie umask (0000). Usunąłem też pamięć podręczną, aby sprawdzić, czy to pomoże. Nie ma kości. Wszelkie pomysły, jak to naprawić?

+2

Czy na pewno jest to problem z uprawnieniami? Rozglądając się, kilku użytkowników Symfony zgłosiło [ustawienie strefy czasowej] (http://stackoverflow.com/questions/13338803/symfony2-composer-install). –

+0

Co stanie się, jeśli uruchomisz 'cache: clear --no-warmup' bezpośrednio? Z opcją '--verbose' pliku wykonywalnego konsoli? – greg0ire

+0

@JaredFarrish Twoja sugestia załatwiła sprawę! Dzięki! Proszę, skomentuj odpowiedź jako odpowiedź, abym mógł ją zatwierdzić i oznaczyć jako rozwiązaną. –

Odpowiedz

4

W komentarzu pod numerem this question wskazano, że problem związany jest z brakującym ustawieniem strefy czasowej.

Co się dzieje, jeśli nie "php app cache/konsoli: jasne --verbose"

+0

Ten sam problem ze mną, brak domyślnej strefy czasowej. Podczas przechodzenia do web/config.php pojawił się komunikat, że coś jest nieaktualne i zaleca ponowne uruchomienie "aktualizacji do programu Composer". Po ustawieniu domyślnej strefy czasowej polecenie zostało pomyślnie uruchomione. – user276648

0

Aby dowiedzieć się dokładnie powód wyjątku zobaczyć logi błędów PHP. Jednakże, jak wspomniał Jared Farrish, może to wynikać z braku ustawienia strefy czasowej w ustawieniach php ini.

#/etc/php5/cli/php.ini 
date.timezone = 'Asia/Kolkata' 
log_errors = On 
error_log = /var/log/php/error.log 
2

miałem ten sam problem na chwilę i po godzinach twarzy ceglanego muru walenie zdałem sobie sprawę ... Mam .gitmodule w moim projekcie, a na początkowym kasie te Submoduły NIE są inicjowane i jako takie nie ma tam, aby Twój kompozytor dokonał aktualizacji, co skutkuje powyższym błędem.

Upewnij się uruchomić następujące

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

oczywiście zastąpić src/Acme/Sadness/Bundle z przestrzeni nazw projektu.

Mam nadzieję, że to pomoże komuś nie przejść przez ten sam ból, który właśnie zrobiłem.