-
方法一:对于线上服务器部署,对于我们一些非专业运维程序员来说,『宝塔』镜像提供的服务器管理软件,给我们提供了极大的遍历。所以,新服务器的系统,打算直接采用宝塔镜像。
-
-
因不同系统,我们可能需要不同的 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
方法二、
登录SSH,输入下列命令:
- rm -f /usr/bin/php
将默认版本改成71
- ln -sf /www/server/php/71/bin/php /usr/bin/php
-
对于线上服务器部署,对于我们一些非专业运维程序员来说,『宝塔』镜像提供的服务器管理软件,给我们提供了极大的遍历。所以,新服务器的系统,打算直接采用宝塔镜像。
-
-
因不同系统,我们可能需要不同的 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