2015-09-25 131 views
1

有時,不是每次,但隨着趨勢的增加,我發現以下行爲與作曲家安裝symfony項目。 我們在這裏使用不同的分支,從功能分支切換回主設備後,需要安裝作曲家。 一切工作正常,但在最後一步,腳本在300秒後終止,而「buildBootstrap」。作曲家安裝掛在ScriptHandler :: buildBootstrap

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



    [Symfony\Component\Process\Exception\ProcessTimedOutException]                                
    The process "'/usr/bin/php5' '--php-ini=/etc/php5/cli/php.ini' '/var/www/Project/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/../Resources/bin/build_bootstrap 
    .php' 'app' 'app' " exceeded the timeout of 300 seconds.                                  



Exception trace: 
() at phar:///var/www/Project/composer.phar/vendor/symfony/process/Symfony/Component/Process/Process.php:1219 
Symfony\Component\Process\Process->checkTimeout() at phar:///var/www/Project/composer.phar/vendor/symfony/process/Symfony/Component/Process/Process.php:356 
Symfony\Component\Process\Process->wait() at phar:///var/www/Project/composer.phar/vendor/symfony/process/Symfony/Component/Process/Process.php:210 
Symfony\Component\Process\Process->run() at /var/www/Project/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:454 
Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeBuildBootstrap() at /var/www/Project/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:82 
Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap() at phar:///var/www/Project/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:211 
Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///var/www/Project/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:167 
Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///var/www/Project/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:92 
Composer\EventDispatcher\EventDispatcher->dispatchScript() at phar:///var/www/Project/composer.phar/src/Composer/Installer.php:346 
Composer\Installer->run() at phar:///var/www/Project/composer.phar/src/Composer/Command/UpdateCommand.php:143 
Composer\Command\UpdateCommand->execute() at phar:///var/www/Project/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257 
Symfony\Component\Console\Command\Command->run() at phar:///var/www/Project/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:874 
Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/Project/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:195 
Symfony\Component\Console\Application->doRun() at phar:///var/www/Project/composer.phar/src/Composer/Console/Application.php:147 
Composer\Console\Application->doRun() at phar:///var/www/Project/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:126 
Symfony\Component\Console\Application->run() at phar:///var/www/Project/composer.phar/src/Composer/Console/Application.php:82 
Composer\Console\Application->run() at phar:///var/www/Project/composer.phar/bin/composer:43 
require() at /var/www/Project/composer.phar:25 


update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [packages1] ... [packagesN] 

此錯誤發生一次後,不可能再執行作曲者而不會直接掛在開頭。

$> php -d memory_limit=-1 composer.phar -vvv install 

按下回車後,會直接掛起,沒有輸出,什麼都沒有。我重新啓動然後機器和也許下一次工作,有時不喜歡上述。

有沒有人發現過相同的東西?

回答

9

ScriptHandler :: buildBootstrap是在您的symfony項目中執行代碼的作曲家的第一個任務。這意味着,PHP的任務正在等待一些東西,並沒有太多的東西可以在這裏考慮。

你是否正在使用xdebug(mayby與一個被遺忘的調試會話)進行調試? xdebug是否在調試會話中運行並在中斷點等待?

這可能是根本原因。

+1

我驗證了這個解決方案。試圖與phpStorm和掛過程。殺掉phpStorm並立即處理完成。 – MarcDeXeT

+1

我也可以確認,通常這是由於PHPStorm正在偵聽一個調試連接。根據您使用PHPStorm配置調試會話的方式,任何打開的PHPStorm項目都可能會掛起CLI。確保所有項目都關閉了偵聽連接的偵聽。 –

0

您收到的錯誤指出已超出執行腳本的限制時間。定義-d memory_limit=-1只會刪除任何內存限制。你應該做的是添加-d max_execution_time=0docs)。這應該能解決你的問題。

+0

執行時間不是問題。我可以選擇30秒,300,3000或無限。掛起的過程是問題 – delete