宝塔全局 PHP 版本切换

425 阅读2分钟

对于线上服务器部署,对于我们一些非专业运维程序员来说,『宝塔』镜像提供的服务器管理软件,给我们提供了极大的遍历。所以,新服务器的系统,打算直接采用宝塔镜像。

因不同系统,我们可能需要不同的 PHP 版本,宝塔支持安装多个 PHP 版本,并且,允许不同项目配置不同的 PHP 版本。

但当我们想在 linux 系统上,切换全局的 PHP 版本,宝塔并未提供。

下面我们来切换全局的 PHP 版本,这里来说下我当时的思路: 1.通过宝塔面板,安装的软件,都在 /www/server/ 下 进入 php/,会发现存在多个版本的 php: 56/ 71/

	进入目录,大致浏览下:
		bin/
		etc/
		include/
		lib/
		php
		sbin/
		var/

	php 相关的命令,都放在 bin/ 和 sbin/
		bin/
			pear
			peardev
			pecl
			phar -> phar.phar
			phar.phar
			php
			php-cgi
			php-config
			phpize

		sbin/
			php-fpm

2.我们查看 php 命令所在文件
	which php
		/usr/bin/php

	ls -l /usr/bin/php	
		/usr/bin/php -> /www/server/php/56/bin/php

	发现是引用的 56 版本

	接着思考,和 php 相关的命令,我们一般使用的就是:php 和 php-fpm,接着查看 php-fpm
	which php-fpm
		/usr/bin/php-fpm

	ls -l /usr/bin/php-fpm
		/usr/bin/php-fpm -> /www/server/php/56/sbin/php-fpm

	再想,是不是还有其他 php 相关的命令,是我们不清楚的,在 /usr/bin/ 查找 'php' 匹配到的命令
		ls -l /usr/bin | grep php 			// 也可以搜寻其他 bin|sbin 目录下的命令,不过应该没有...
			pear -> /www/server/php/56/bin/pear
			pecl -> /www/server/php/56/bin/pecl
			php -> /www/server/php/56/bin/php
			php-fpm -> /www/server/php/56/sbin/php-fpm
			phpize -> /www/server/php/56/bin/phpize

3.到目前为止,我们应该很清晰了,切换 PHP 版本,我们切换对不同版本下的命令的 『软链接』 即可。
	ln -sfv /www/server/php/71/bin/pear /usr/bin/pear
	ln -sfv /www/server/php/71/bin/pecl /usr/bin/pecl
	ln -sfv /www/server/php/71/bin/php /usr/bin/php
	ln -sfv /www/server/php/71/bin/phpize /usr/bin/phpize
	ln -sfv /www/server/php/71/sbin/php-fpm /usr/bin/php-fpm