web-dev-qa-db-ja.com

コマンドラインUbuntu 16.04でPHPバージョンを切り替える

Ubuntu 16.04にphp 5.6およびphp 7.1をインストールしました

Webサーバーとして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を切り替えるにはどうすればよいですか?

52
salimsaid

インタラクティブ切り替えモード

Sudo update-alternatives --config php

手動切り替え

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

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

ソース

138
Stevie G

これをシェルに入力します

$ 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:

適切なバージョンを選択してください

43
GiorgosK

これを試してみるべきだと思う

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
10
Rupinder Sohal

利用可能なすべてのバージョンをリストし、それらから選択するには:

Sudo update-alternatives --config php

または手動で行う

Sudo a2dismod php7.1 // disable
Sudo a2enmod php5.6  // enable
9
Kamal Kumar

実際、PHP 5または7にa2enmodを使用することはお勧めしません。update-alternativesを使用します。 Sudo update-alternatives --config phpを実行して、使用するPHPのシステム全体のバージョンを設定できます。これにより、コマンドラインとApacheバージョンが同じように動作します。 update-alternativesの詳細については、 manページ をご覧ください。

6
FatBoyXPC

以下のコマンドラインを使用して、2つのPHPバージョンを切り替えることができます。

以下のコマンドを使用できるPHP Version7.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はバージョンを有効にするために使用されます

5
Ashish Viradiya

次のバージョンから切り替えるスクリプトを作成できます: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

スクリプトを実行するには、パラメーターが7または5.6である./switch_php [VERSION_NUMBER]と入力するだけです。

これで、PHP7からPHP 5.6に簡単に切り替えることができます!

5
ihakoz

端末に特定のコマンドを入力します。

選択したPHPバージョンを無効にするには...

    • Sudo a2dismod php5
    • SudoサービスApache2の再起動
  1. 他のPHPバージョンを有効にするには...

    • Sudo a2enmod php5.6
    • SudoサービスApache2の再起動

PHPバージョンをアップグレードします。バージョンをダウングレードしたい場合は同じことを逆にします。PHP_INFO()で確認できます。

3

以下を使用して、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
3
user1560627

これらのオープンソースPHPスイッチスクリプトは、Ubuntu 16.04 LTSで使用するために特別に設計されたものを使用できます。

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

PHP 5.6、7.0、7.1および7.2に必要なすべての依存関係をインストールするsetup.shスクリプトがあります。これが完了したら、次のスイッチスクリプトのいずれかを実行して、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
3
DivineOmega

PHP 5.6から=> PHP 7.1

$ Sudo a2dismod php5.6
$ Sudo a2enmod php7.1

古いLinuxバージョン用

 $ Sudo service Apache2 restart

より新しいバージョンの

$ systemctl restart Apache2
1

laravelをUbuntu 18.04にインストールする場合、デフォルトのPHP 7.3.0RC3インストールを選択しますが、laravelおよびsymfonyは正しくインストールされず、php-xmlおよびphpのエラーが表示されます-たとえインストールされていても、Zip。上記の手順を使用して、PHP 7.1に切り替える必要があります。または、

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

現在、laravel新しいブログを実行すると、正常に処理が進みます。

0
pingle60

以下のスクリプトを使用して、PHPバージョンを簡単に切り替えることができます。phpize構成も含めました。

https://github.com/anilkumararumulla/switch-php-version

スクリプトファイルをダウンロードして実行する

sh switch.sh
0
Anil Kumar