为什么composer php在300秒后安装超时?
当我尝试在我的服务器上构build它时,我在symfony2中创build了一个小项目,解压symfony时总是失败。 build立好,突然composer php不会解压symfony,我什么也没有改变。 我试图build立与jenkins,也手动从bash相同的结果。 这不是权限问题,也是我的服务器上的互联网连接是好的。
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.
尝试composer update/install -o -vvv
并检查包是从composer php的caching加载。
如果是,请尝试清除作曲者的caching或尝试添加-cache-dir=/dev/null
。
要强制下载档案而不是克隆源,请将--prefer-dist
选项与--no-dev
结合使用。
否则,你可以尝试提高composer php的过程超时值:
export COMPOSER_PROCESS_TIMEOUT=600 ( defaults to 300 )
composer php本身对允许远程git操作的时间有限制。 查看Composer文档可以确认,环境variablesCOMPOSER_PROCESS_TIMEOUT控制着这一点。 该variables设置为默认值300(秒),这显然不足以使用较慢的Internet连接进行大型克隆操作。
使用以下方法提高此值:
COMPOSER_PROCESS_TIMEOUT=2000 composer install
composer config --global process-timeout 2000
删除composer phpcaching为我工作。
rm -rf ~/.composer/cache/*
Symfony组件的进程超时默认设置为60。 这就是为什么你得到这样的错误:
[Symfony\Component\Process\Exception\ProcessTimedOutException] The process "composer update" exceeded the timeout of 60 seconds.
解
将超时设置为5分钟或更长时间
$process = new Process("composer update"); $process->setTimeout(300); // 5 minutes $process->run();
这是NFS的问题。 编写器将caching写入NFS目录。 您必须全局安装composer并重写cachingpath。
这不工作:
php composer.phar install
使用这个:
composer install
在运行之前,您必须全局configurationcomposer php。 看到这个https://getcomposer.org/doc/00-intro.md#globally
另外,你必须添加这行到你的config.json中:
"config": { "cache-dir": "/var/cache/composer" }
为我工作。