symfony - Why composer install timeouts after 300 seconds?

I have small project made in symfony2 when I try to build it on my server it's always fails when unzipping symfony. Build was OK and suddenly composer won't unzip symfony and I didn't change anything. I tried to build with Jenkins and also manually from bash with same result. It's not permissions problem and also internet connection on my server is OK.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
- Installing symfony/symfony (v2.3.4)
Downloading: 100%
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "unzip '/path/vendor/symfony/symfony/6116f6f3
d4125a757858954cb107e64b' -d 'vendor/composer/b2f33269' && chmod -R u+w 'vendor/composer/b2f33269'" exceeded the timeout of 300 seconds.
Answer
Solution:
trycomposer update/install -o -vvv
and check wether the package is being loaded from composer's cache.
if yes try clearing composer's cache or try adding-cache-dir=/dev/null
.
To force downloading an archive instead of cloning sources, use the--prefer-dist
option in combination with--no-dev
.
Otherwise you could try raising composer's process timeout value:
export COMPOSER_PROCESS_TIMEOUT=600 ( defaults to 300 )
Answer
Solution:
The easiest method is add config option to composer.json file, Add process-timeout 0, That's all. It works anywhere.
{
.....
"scripts": {
"start": "php -S 0.0.0.0:8080 -t public public/index.php"
},
"config": {
"process-timeout":0
}
}
Answer
Solution:
Composer itself impose a limit on how long it would allow for the remote git operation. A look at the Composer documentation confirms that the environment variable COMPOSER_PROCESS_TIMEOUT governs this. The variable is set to a default value of 300 (seconds) which is apparently not enough for a large clone operation using a slow internet connection.
Raise this value using:
COMPOSER_PROCESS_TIMEOUT=2000 composer install
Answer
Solution:
Deleting composer cache worked for me.
rm -rf ~/.composer/cache/*
Answer
Solution:
The Symfony Component has process timeout set to 60 by default. That's why you get errors like this:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "composer update" exceeded the timeout of 60 seconds.
Solution
Set timeout to 5 minutes or more
$process = new Process("composer update");
$process->setTimeout(300); // 5 minutes
$process->run();
Answer
Solution:
It's an old thread but I found out the reason for time out was running a php debugger (PHPStorm was listening to xdebug connections) which caused the process timeout. When I closed the PHPStorm or disabled the xdebug extension, no time out occurred.
Answer
Solution:
old thread but new problem for me. No solutions here were working when trying to install google/apiclient (it failed on google/apiclient-services) on an Ubuntu VM within a Windows 10 host.
After noticing Windows' "antimalware executable" taking up considerable CPU cycles when doing this composer install/update, I disabled "real-time protection" on the Windows 10 machine, and my composer update/install worked!!
Hope that helps someone.
Answer
Solution:
This is the problem slow NFS. Composer write cache into NFS directory. You must install composer globally and rewrite cache path.
This doesnt work:
php composer.phar install
Using this:
composer install
Before this run you must config composer globally. See this https://getcomposer.org/doc/00-intro.md#globally
Also, you must add this lines to your config.json:
"config": {
"cache-dir": "/var/cache/composer"
}
Works for me.
Answer
Solution:
I agree with most of what has been suggested above, but I had the same issue and what worked for me was deleting the vendor folder and re-runcomposer install
Regards
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: closed without sending a request; it was probably just an unused speculative preconnection
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.