现在我正在尝试使用composer来安装我的php包,但是我收到了以下错误消息: $ 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.
编辑:
启用proc_open函数后,我收到此错误并将php memory_limit设置为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
答案 0 :(得分:14)
你应该使用php-cli暂时绕过 disable_functions 。
php -d "disable_functions=" /path/to/composer install
答案 1 :(得分:9)
修改您的php.ini
文件并搜索
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait...
应该在那里禁用它,你必须启用它。这是一项安全预防措施。