xvmqC1Ye - 0天前注册会员;
mbtdr3ev - 5天前注册会员;
3n44fZgo - 25天前注册会员;
73n5lsCR - 39天前注册会员;
NaZ2pUfG - 48天前注册会员;
加入我们(63 )

关于宝塔面板composer默认PHP版本及切换

在网站服务器运维管理工具中,经常使用的就是宝塔面板

在管理多个站点过程中,由于不同源码使用了不同PHP版本,因此安装了多个PHP版本。

安装了多个PHP版本
我的服务器版本为CentOS 7.3,宝塔面板版本为免费版 7.2.0,由于部署了新的网站代码,部分组件需要使用composer进行安装,因此打开ssh命令行工具,进入站点根目录,直接运行 composer install,提示报错:

进行composer安装时报错
大概意思是putenv()被禁用,导致无法执行。

这个问题很明确,就是默认PHP安装时禁用了一些可能导致影响安全的函数或方法,要启用也很简单,找到相关的PHP配置文件修改了就可以了。

由于此站点采用了PHP7.2版本,也没多想就直接打开宝塔面板管理后台,在PHP7.2的配置管理进行了修改:

将putenv从禁用列表中删除
然后到命令行重新输入命令执行,仍然报 putenv被禁用 错误,重新了PHP甚至Web服务器还是不行。

明明已经修改却还是报错,所以怀疑调用的PHP并不是修改了配置的PHP,输入版本命令查看确认:

默认的PHP版本为5.6并非站点绑定的7.2
这下明白了,执行composer过程中调用的为PHP5.6版本,所以更改了7.2 的配置肯定是不行的,再去宝塔后台修改了PHP5.6的配置就可以了。

不过我这里想把默认调用的PHP改成7.2的,毕竟7.x版本才是以后的主角。

先查看下系统默认php命令关联的PHP版本,在命令行输入 ls -l /usr/bin/php 显示:

当前默认php指令关联的PHP真实目录
打开/www/server/php目录可以看到通过宝塔安装的多个PHP版本都在此处:

多个版本PHP的安装目录
要更改成7.2的执行以下命令 ln -sf /www/server/php/72/bin/php /usr/bin/php 即可:

切换默认php关联的PHP版本
再次输入ls指令可以看到已经切换到7.2版本了。

作者:手心_d12a
链接:https://www.jianshu.com/p/50e1404e6495
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。