Composer 安装报错因 PHP 禁用 proc_open(),需在 CLI 模式 php.ini 的 disable_functions 中移除该函数并重启 CLI 环境;生产环境启用前应评估安全风险。

这个错误是因为 PHP 禁用了 proc_open() 函数,而 Composer 在安装依赖时需要调用它来执行 Git、unzip、php 等外部命令。解决方法是启用该函数,关键在 php.ini 配置。
打开你当前 PHP 使用的 php.ini 文件(可通过 php --ini 或 phpinfo() 确认路径),找到 disable_functions 这一行:
proc_open(例如:disable_functions = exec,passthru,shell_exec,system,proc_open),把它删掉proc_open
Composer 默认使用 CLI 版本的 PHP,所以要改的是 CLI 模式下的 php.ini,不是 Apache 或 Nginx 的那个:
php -i | grep "Loaded Configuration File" 查看实际加载的 ini 路径composer install 即可验证/etc/php/8.1/apache2/php.ini,却忘了 CLI 用的是 /etc/php/8.1/cli/php.ini
proc_open() 允许 PHP 启动进程,确实存在安全风险(如执行恶意命令),因此部分共享主机或安全策略会默认禁用它:
立即学习“PHP免费学习笔记(深入)”;
基本上就这些。改完 php.ini,保存,再试一次 composer install,错误通常就消失了。
以上就是如何处理Composer install时出现的“proc_open() has been disabled”错误?(php.ini配置)的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号