问题1 Your lock file does not contain a compatible set of packages.
错误提示缺少php扩展fileinfo
解决办法:
1、宝塔linux面板
在软件商店中点击已安装应用,找到使用的php,点击设置
找到安装扩展,fileinfo,点击安装,大概1分钟等待安装完成
2、非宝塔linux面板
修改php配置文件php.ini,解开 extension=fileinfo 的注释,去点前面的分号即可。
问题2 putenv() has been disabled for security reasons
错误提示putenv() 函数处于安全考虑被禁用了,开启这个函数就可以了。
解决办法:
1、宝塔linux面板
在软件商店中点击已安装应用,找到使用的php,点击设置。
找到禁用函数,putenv(),点击删除。
2、非宝塔linux面板
打开配置文件php.ini,找到disable_functions字符串,把后面的putenv删除即可正常安装。
3、多版本PHP共存的处理
按上面操作后错误还在,你就要查看服务器上是不是还安装了其他PHP版本,宝塔面板是支持多版本PHP共存的,所以你需要把别的版本PHP的 “putenv” 也删掉。
4、以上解决方法都无效的情况下,还是宝塔
检查composer
是否使用了自己的 PHP 环境。运行下面的命令检查:
composer show --platform | grep php
检查您的 PHP 环境变量配置是否正确。请在终端中运行下面的命令:
php -i | grep 'disable_functions'
什么情况,明明禁用函数putenv()已经删除了呀,具体原因不明,查看php配置文件看看情况。
找到php配置文件的目录居然有两个php的ini文件,两个配置文件在不同的使用场景下分别被使用,更加灵活。
php.ini文件PHP在FPM模式时中使用的配置文件。
php-cli.ini文件PHP在命令行模式时中使用的配置文件。
所以我们应该修改的是php-cli.ini文件。
打开文件,找到putenv,删除,搞定。
比较常见的函数putenv()
、 pcntl_signal()
、 proc_open()
步骤一样。
创作不易,如果您觉得这篇文章对您有帮助,欢迎点赞、收藏、转发,有不同的见解可以评论区留言。感谢支持!