我在我的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 6.6和php 7.1之间切换?
sudo update-alternatives --config php
在系统上设置了默认的PHP 5.6,您需要切换到PHP 7.1。
阿帕奇:
$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
$ sudo service apache2 restart
命令行:
$ sudo update-alternatives --set php /usr/bin/php7.1
在系统上设置了默认的PHP 7.1,您需要切换到PHP 5.6。
阿帕奇:
$ sudo a2dismod php7.1
$ sudo a2enmod php5.6
$ sudo service apache2 restart
命令行:
$ sudo update-alternatives --set php /usr/bin/php5.6
您可以使用这些专门设计用于Ubuntu 16.04 LTS的开源PHP Switch Scripts。
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
从PHP 5.6 => PHP 7.1
$ sudo a2dismod php5.6
$ sudo a2enmod php7.1
对于旧的Linux版本
$ sudo service apache2 restart
对于更新版本
$ systemctl restart apache2
您可以使用以下脚本轻松切换PHP版本我也包含了phpize配置。
https://github.com/anilkumararumulla/switch-php-version
下载脚本文件并运行
sh switch.sh
当在Ubuntu 18.04上安装laravel时,默认选择PHP 7.3.0RC3安装,但laravel和symfony将无法正确安装抱怨missin php-xml和php-zip,即使它们已安装。您需要使用上面的说明切换到php 7.1,或者
sudo update-alternatives --set php /usr/bin/php7.1
现在,运行laravel新博客,将正确进行
在你的shell中键入它
$ sudo update-alternatives --config php
这就是你将得到的
There are 4 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php7.2 72 auto mode
1 /usr/bin/php5.6 56 manual mode
2 /usr/bin/php7.0 70 manual mode
3 /usr/bin/php7.1 71 manual mode
4 /usr/bin/php7.2 72 manual mode
Press <enter> to keep the current choice[*], or type selection number:
选择合适的版本
我想你应该试试这个
从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
列出所有可用版本并从中进行选择:
sudo update-alternatives --config php
或者手动完成
sudo a2dismod php7.1 // disable
sudo a2enmod php5.6 // enable
我实际上不建议使用a2enmod
for php 5或7.我会使用update-alternatives
。您可以执行sudo update-alternatives --config php
来设置要使用的系统范围的PHP版本。这使您的命令行和apache版本的工作方式相同。你可以在update-alternatives
上阅读更多关于man page的信息。
您可以创建一个脚本以从版本切换: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切换到PHP 5.6!
您可以使用以下命令行在两个PHP版本之间切换。
EG
我想将PHP Version
从7.1
切换到7.2
我们可以在命令下面使用
sudo a2dismod php7.1 && sudo update-alternatives --set php /usr/bin/php7.2 && sudo a2enmod php7.2 && sudo service apache2 restart
a2dismod
用于禁用当前的php版本,a2enmod
用于启用该版本
在终端中键入给定的命令..
禁用所选的PHP版本...
它会升级Php版本,如果你想要版本降级,同样的事情反向,你可以通过PHP_INFO()看到它;
使用以下命令从PHP 5.6切换到PHP 7.2:
sudo a2dismod php5.6 && sudo a2enmod php7.2 && sudo service apache2 restart
使用以下方法从PHP 7.2切换到PHP 5.6:
sudo a2dismod php7.2 && sudo a2enmod php5.6 && sudo service apache2 restart