The following exception is caused by a lack of memory and not having swap
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-for details
http://www.linuxidc.com/Linux/2010-09/28915.htm ubuntu增加交换空间的步骤
提供了创建交换空间的方法
proc_open(): fork failed errors#
If composer shows proc_open() fork failed on some commands:
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar
This could be happening because the VPS runs out of memory and has no Swap space enabled.
free-mtotal used free shared buffers cachedMem:2048357169000237-/+ buffers/cache:1191928Swap:000
To enable the swap you can use for example:
/bin/ddif=/dev/zero of=/var/swap.1 bs=1M count=1024/sbin/mkswap/var/swap.1/sbin/swapon/var/swap.1
下面是整个过程
root@tyr:/var/www/html/laravel#./composer.phar global require "laravel/installer=~1.1"Changedcurrentdirectory to /root/.composer
PHP Fatal error: Call to undefined method Fxp\Composer\AssetPlugin\Package\Version\VersionParser::parseLinks() in /root/.composer/vendor/fxp/composer-asset-plugin/Repository/VcsPackageFilter.php on line 272Fatal error: Call to undefined method Fxp\Composer\AssetPlugin\Package\Version\VersionParser::parseLinks() in /root/.composer/vendor/fxp/composer-asset-plugin/Repository/VcsPackageFilter.php on line 272root@tyr:/var/www/html/laravel#composer require "fxp/composer-asset-plugin:~1.0"./composer.json has been created
Loading composer repositories with package information
Updating dependencies (includingrequire-dev)- Installing fxp/composer-asset-plugin (v1.0.3)
Downloading: 100%The followingexceptionis caused by a lack of memory and not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for detailsPHP Fatal error: Uncaughtexception'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974Stack trace:#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array)#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974Fatal error: Uncaughtexception'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974Stack trace:#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array)#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974root@tyr:/var/www/html/laravel#free -mtotal used free shared buffers cached
Mem: 488 414 74 24 1 71-/+ buffers/cache: 340 147Swap: 0 0 0root@tyr:/var/www/html/laravel#/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=10241024+0records in1024+0records out1073741824 bytes (1.1 GB) copied, 25.3413 s, 42.4 MB/s
root@tyr:/var/www/html/laravel#/sbin/mkswap /var/swap.1Setting up swapspace version 1, size = 1048572KiB
no label, UUID=60a9b908-925a-4161-8fca-7ae2d5a76154
root@tyr:/var/www/html/laravel#/sbin/swapon /var/swap.1root@tyr:/var/www/html/laravel#free -mtotal used free shared buffers cached
Mem: 488 474 13 24 2 127-/+ buffers/cache: 344 143Swap: 1023 0 1023root@tyr:/var/www/html/laravel#composer require "fxp/composer-asset-plugin:~1.0"./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (includingrequire-dev)- Installing fxp/composer-asset-plugin (v1.0.3)
Loading from cache
Writing lockfileGenerating autoload files
root@tyr:/var/www/html/laravel#
网友评论