我已经在我的Ubuntu 16.04上安装了php 5.6和php 7.1
我知道用Apache作为我的网络服务器,我可以做到
a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7
当我在Apache模块中禁用php7.1并启用php 5.6时,Apache识别出了这个变化,并按预期使用php 5.6解释器。
但是当我从命令行运行内部php web服务器时:
php -S localhost:8888
PHP使用PHP 7处理请求。那么如何在命令行中在php 5.6和php 7.1之间切换呢?
您可以创建一个脚本来切换版本:sudo nano switch_php
然后输入这个:
#!/bin/sh
#!/bin/bash
echo "Switching to PHP$1..."
case $1 in
"7")
sudo a2dismod php5.6
sudo a2enmod php7.0
sudo service apache2 restart
sudo ln -sfn /usr/bin/php7.0 /etc/alternatives/php;;
"5.6")
sudo a2dismod php7.0
sudo a2enmod php5.6
sudo service apache2 restart
sudo ln -sfn /usr/bin/php5.6 /etc/alternatives/php;;
esac
echo "Current version: $( php -v | head -n 1 | cut -c-7 )"
退出并保存
使其可执行:sudo chmod +x switch_php
要执行脚本,只需输入./switch_php [VERSION_NUMBER],其中参数为7或5.6
就是这样,您现在可以轻松地从PHP7切换到phph5.6 !
交互切换模式
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
手动切换
从PHP 5.6 => PHP 7.1
在您的系统上设置了默认的PHP 5.6,您需要切换到PHP 7.1。
Apache:
$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart
命令行:
$ sudo update-alternatives --set php /usr/bin/php7.1
$ sudo update-alternatives --set phar /usr/bin/phar7.1
$ sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.1
从PHP 7.1 => PHP 5.6
在您的系统上设置了默认的PHP 7.1,您需要切换到PHP 5.6。
Apache:
$ sudo a2dismod php7.1
$ sudo a2enmod php5.6
$ sudo service apache2 restart
命令行:
$ sudo update-alternatives --set php /usr/bin/php5.6
源