在虚拟机环境下,使用的PHP框架是laravel,下载了项目代码后,执行composer install处理依赖关系,但是报了错,报错信息是Symfony\Component\Process\Exception\ProcessTimedOutException。
首先我们要了解一下composer install 命令和相关的命令composer update 命令:
composer install,从当前目录读取composer.json文件,处理依赖关系,如果执行成功会生成vendor文件夹,用于安装读取到的依赖设置。使用composer install 命令,需要确定项目目录下不存在composer.lock文件,该命令会生成这个文件,如果当前项目文件夹有composer.lock文件,可以使用composer update命令;或者删除当前的composer.lock文件,重新根据composer.json获取项目依赖。
composer update 命令是在composer.lock文件已经存在时获取依赖的最新版本,并更新composer.lock。
现在回到遇到的问题,我发现报Symfony\Component\Process\Exception\ProcessTimedOutException错误,是在安装phpunit依赖超时出现的,再查看项目文件夹,发现composer.lock文件已经生成了,但是vendor文件夹没有生成。
接下来我就把这个错误粘贴到百度去找解决方案,解决方案说打开php配置文件php.ini,找到disable_functions,删除里面的proc_open,但是!!我找到我的php.ini发现disable_functions=后面啥都没有!!
正确解决方案:
已经存在composer.lock文件了,运行composer.update命令,接下来从命令行可以看到它是从刚刚没成功的phpunit继续安装依赖的:
上图最下面的红框里的提示表示这次执行最后安装成功了。
如果你的这个命令还是没能成功,可以看看这个博客是否有帮助,我的成功了就没试这个,感觉这个不会像修改php.ini那么不靠谱。https://blog.csdn.net/winter_liang/article/details/72874723