解决启用proc
作者:mmseoamin日期:2023-12-25

有时候在Ubuntu部署laravel项目的时候安装composer install会提示The Process class relies on proc_open, which is not available on your PHP installation.这种问题有两种解决方:

第一种就是网上说的删除php.ini文件里的disable_functions选项中的proc_open

详细命令如下:

每个人安装的PHP版本都不同,安装的路径也不同,使用以下命令找到php.ini配置文件,这个命令会列出php.ini所在的路径,找到后删除disable_functions选项中的proc_open即可。

find / -name php.ini

如果第一种方法没有作用,还是报错,比如:phar:///usr/local/bin/composer/vendor/symfony/process/Process.php on line 1345

那么可以试试删除composer。

apt remove composer

如果提示不能删除或者找不到composer那么就重新安装试试。

apt install composer

一般重新安装composer还是不行,因为你的系统缺少一些 PHP 扩展,Composer 需要这些扩展来运行。以下命令安装扩展

安装 ext-curl:

sudo apt install php-curl

安装 ext-dom:

sudo apt install php-xml

安装 ext-xml:

sudo apt install php-xml

安装完这些扩展后,重启 Apache 或nginx 或 PHP-FPM 服务以使更改生效:

systemctl restart apache2
systemctl restart nginx
systemctl restart php-fpm

我的环境是Ubuntu22.04.3 PHP8.0.2