laravel4 composer install got proc_open not availa

2020-03-10 05:36发布

Now I am trying to use composer to install my php package but I got this error message: $ composer install

Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing filp/whoops (1.0.7)
    Downloading: 100%          

[Symfony\Component\Process\Exception\RuntimeException]                                   
The Process class relies on proc_open, which is not available on your PHP installation. 

edit :

after enable the proc_open function I got this error and also set my php memory_limit to 384M :

Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:990
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 990, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(990): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(832): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(797): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(731): 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 990

2条回答
欢心
2楼-- · 2020-03-10 05:52

You should use php-cli to by-pass disable_functions temporarily.

php -d "disable_functions=" /path/to/composer install
查看更多
够拽才男人
3楼-- · 2020-03-10 05:57

Edit your php.ini file and search for the line

disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait...

It should be disabled there and you must enabled it. This a security precaution.

查看更多
登录 后发表回答