我在我的Ubuntu 16.04上安装了php 5.6和php 7.1
我知道使用Apache作为我的web服务器,我可以做到
a2enmod php5.6 #to enable php5
a2enmod php7.1 #to enable php7
当我在Apache模块中禁用php7.1并启用php5.6时,Apache识别到了这个变化并按照预期使用php5.6解释器。
但是当我从命令行运行内部php web服务器时:
php -S localhost:8888
php使用php 7处理请求。那么如何在命令行中切换php 5.6和php 7.1?
发布于 2017-03-06 15:03:19
交互式切换模式
sudo update-alternatives --config php
sudo update-alternatives --config phar
sudo update-alternatives --config phar.phar
手动切换
来自PHP5.6 => PHP7.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
来自PHP7.1 => PHP5.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
发布于 2018-05-30 19:25:17
要列出所有可用版本并从中进行选择:
sudo update-alternatives --config php
或手动执行
sudo a2dismod php7.1 // disable
sudo a2enmod php5.6 // enable
发布于 2017-03-06 15:02:51
我实际上不推荐在php5或php7上使用a2enmod
,我会使用update-alternatives
。您可以执行sudo update-alternatives --config php
来设置您想要使用的系统范围版本。这使得您的命令行和apache版本的工作方式相同。您可以在man page上阅读有关update-alternatives
的更多信息。
https://stackoverflow.com/questions/42619312
复制相似问题