对于线上服务器部署,对于我们一些非专业运维程序员来说,『宝塔』镜像提供的服务器管理软件,给我们提供了极大的遍历。所以,新服务器的系统,打算直接采用宝塔镜像。
因不同系统,我们可能需要不同的 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