UbuntuにPHP 8がインストールされている環境にPHP 7をインストールし、PHP 7の環境を利用できるようにする手順を説明します。
1. 必要なリポジトリを追加
PHPの複数バージョンを簡単に管理できるように、Ondřej Surý's PPAを追加します。
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
2. PHP 7.x をインストール
必要なPHP 7.xのバージョンを選択してインストールします。以下はPHP 7.4を例にしています。
sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-xml php7.4-mbstring
sudo apt install -y php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-fpm php7.4-intl
sudo apt install -y php7.4-mcrypt php7.4-curl
必要なPHPモジュールも合わせてインストールしてください。
3. PHPのバージョンを切り替える
Ubuntuでは、update-alternatives
を利用してPHPのバージョンを切り替えることができます。
現在インストールされているPHPバージョンを確認:
update-alternatives --display php
PHP 7.4に切り替える場合:
sudo update-alternatives --set php /usr/bin/php7.4
現在のPHPバージョンを確認:
php -v
PHP 8に戻したい場合は、以下のように切り替えます:
sudo update-alternatives --set php /usr/bin/php8.2
4. WebサーバーのPHPバージョンを切り替える
ApacheまたはNginxを使用している場合、PHP-FPMの設定を切り替える必要があります。
Apacheの場合:
PHP 7.4用のモジュールを有効化し、PHP 8のモジュールを無効化します。
sudo a2dismod php8.2
sudo a2enmod php7.4
sudo systemctl restart apache2
Nginxの場合:
PHP-FPMのソケットまたはポートを指定して設定を変更します。たとえば、/etc/nginx/sites-available/default
を編集:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # PHP 7.4
}
設定を再読み込み:
sudo systemctl reload nginx
5. ComposerのPHPバージョン設定
CakePHP 3ではComposerを利用しますが、現在のPHPバージョンで依存関係を解決する必要があります。以下のコマンドで確認してください:
php composer.phar install
問題が発生する場合は、composer.json
のPHPバージョン制約を確認してください。
6. 確認
CakePHP 3が正常に動作するか確認してください。
以上で、Ubuntu環境でPHP 7.xをインストールし、PHP 8と切り替えながら利用する準備が完了です。