我已经在我的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 update-alternatives --set php /usr/bin/php7.4

只要把PHP版本改为你需要的任何版本,我已经把它改为php7.4

其他回答

当在Ubuntu 18.04上安装laravel时,默认选择PHP 7.3.0RC3 install,但是laravel和symfony将无法正常安装,即使它们已经安装了,也会抱怨缺少PHP -xml和PHP -zip。你需要切换到php 7.1,使用上面的说明或,

 sudo update-alternatives --set php /usr/bin/php7.1

现在,运行laravel的新博客,将正确进行

您可以创建一个脚本来切换版本: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 !

在终端中输入给定的命令..

禁用所选PHP版本…

Sudo a2dismod php5 Sudo服务apache2重启 用于启用其他PHP版本.... Sudo a2enmod php5.6 Sudo服务apache2重启

它会升级Php版本,如果你想降低版本,也一样,你可以通过PHP_INFO();

你可以使用这些开源的PHP Switch脚本,它们是专门为Ubuntu 16.04 LTS设计的。

https://github.com/rapidwebltd/php-switch-scripts

有一个setup.sh脚本,用于安装PHP 5.6、7.0、7.1和7.2所需的所有依赖项。完成之后,您可以运行以下切换脚本之一来更改PHP CLI和Apache 2模块版本。

./switch-to-php-5.6.sh
./switch-to-php-7.0.sh
./switch-to-php-7.1.sh
./switch-to-php-7.2.sh

我觉得你应该试试这个

从php5.6到php7.1

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

从php7.1到php5.6

sudo a2dismod php7.1
sudo a2enmod php5.6
sudo service apache2 restart

sudo update-alternatives --set php /usr/bin/php5.6
sudo update-alternatives --set phar /usr/bin/phar5.6
sudo update-alternatives --set phar.phar /usr/bin/phar.phar5.6