我有這個同樣的錯誤別人:作曲proc_open():叉失敗 - 運行<code>php ~/composer.phar update</code>時無法分配內存
The following exception is 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 details
Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///home/te...', 974, Array)
1 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
2 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
3 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
4 phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
5 phar:///home/tea/composer in phar:///home/tea/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974
...但有大例如:4GB的RAM和4GB的交換。免費的RAM永遠不會耗盡,更不用說可用/緩存的RAM了,交換不會被觸及!
total used free shared buff/cache available
Mem: 3788 885 1908 9 993 2692
Swap: 3967 0 3967
這是第一次在這臺新機器CentOS/CloudLinux 7.1(帶有cPanel)上運行作曲家更新。
無奈之下,我已經試過 # php -dmemory_limit=1G ../composer.phar update --no-scripts --prefer-dist
,我已經試圖消除composer.lock和供應商的文件,甚至試圖加入一個臨時交換文件但它確實似乎沒有內存問題 - 錯誤可能被誤導?
proc_open沒有禁用,我也嘗試用shell fork bomb protected禁用,但沒有jive。
會愛上去。
N.B.我意識到提交composer.lock文件並執行作曲家安裝的建議,但是此實例正在用於開發(如以前的CentOS/CloudLinux 6.x機器具有較小的資源規格),所以我們需要使用我們以前使用的方法相同。
我有同樣的問題,增加了內存,但沒有奏效。但是增加 - max_execution_time = 300和max_input_time = 300以及2048MB的內存對我來說很合適 – GAV