PHPのバージョンを7から5.6に戻そうとしているのですが、PHP7を削除してからPHP5.6をインストールしたにもかかわらず、まだバージョン7が動作しているようです。
apacheやphpMyAdminなどが適切に設定されている状態で、PHPのバージョンを移行する簡単な方法はありますか?
現在のPHPのバージョンをその場で、さらにはサイトごとに変更できる簡単な方法があれば最高です。
**アップデート
今日、apacheモジュールのphp7.0
を無効にしたにもかかわらず、PHP 7が動作するという問題が再び発生しました。PHP7.0を無効にしているにもかかわらず、PHP 7が動作するという問題が再び発生しました。 ...phpinfo
is indicate php 7 using fastCGI ... ... 以下の手順に従った後にこのような状況に直面した場合、apacheモジュールの proxy_fcgi
を無効にする必要があるかもしれません。
sudo a2dismod proxy_fcgi proxy; sudo service apache2 restart
**1.PHP 5.6を再インストールする。
私がうまくいったのは、このガイドです。http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
実際には、php7.0
を削除する必要はなく、php5.6を一緒にインストールすることができます(また、php7.0を必要とするphpmyadmin
パッケージとの依存関係に問題があるため)。
ApacheでPHPを有効にする方法として、libapache2-mod-php
が適切であると判断した場合、この方法で進めることができます。
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0
2.PHPのバージョンを切り替える。
php5.6からphp7.0に変更します。
Apacheを使用しています。
sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
CLIです。
sudo update-alternatives -set php /usr/bin/php7.0
php7.0からphp5.6へ。
Apacheです。
sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
CLIです。
sudo update-alternatives -set php /usr/bin/php5.6
あなたの質問には重要な点が欠けていますので、大まかにお答えします。
パッケージを使用していると仮定すると、いくつかの重要な詳細があります。
1.Apache2 は、libapache2-mod-php7.0
パッケージを使用した apache2
SAPI、または mod_proxy_fcgi
を使用した php7.0-fpm
FPM SAPI のいずれかを使用するように設定できます。
2.2. Ubuntu 16.04 のリポジトリには PHP 7.0 しかありませんが、 ppa:ondrej/php
を使用して同様の命名法で PHP 5.6 のサポートを追加することができます (例: libapache2-mod-php5.6
または php5.6-fpm
)。
3.3. Apache2 SAPI (libapache2-mod-php*
) を使用している場合は、 libapache2-mod-php5.6
をインストールした後、 a2dismod php7.0
を実行して PHP 7.0 を無効にし、 a2enmod php5.6
を実行して PHP 5.6 を有効にする必要があります。
4.4. FPM SAPI (php*-fpm
) を使用している場合は、FPM の unix ソケットを /run/php/php7.0-fpm.sock
から /run/php/php5.6-fpm.sock
に変更する必要があります。
5.5. PHP にバンドルされているモジュール (MySQL など) の命名規則は phpX.Y-<ext>
であることに注意してください (例: php7.0-mysql
や php5.6-mysql
) ですが、外部の PECL モジュール (APCu, mongodb, ...) については、単に php-<ext>
(php-apcu,
php-mongodb) となります。 インターネットで質問する前に、システム上で
apt-cache search php
phpパッケージを削除して、php5.6をインストールする必要があると思います。以下のように進めてください。
sudo apt-get purge php7.*
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
その後、念のためにphpのバージョンを確認してください。これは以下のように行います。
php -v