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

在网站服务器运维管理工具中,经常使用的就是宝塔面板(https://www.bt.cn/)了,非常好用非常方便并且功能强大,大家有需要的可以去官网查看。

在管理多个站点过程中,由于不同源码使用了不同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版本了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。