- 投稿日:2023年06月07日 23時00分07秒
- 更新日:2023年06月07日 23時10分00秒

Ubuntuに古いphp7.1をインストールする
詳細
ここではphp7.1をインストールし、apacheと連携させます。
古いバージョンのphpをインストール
php7.1のリポジトリを追加
apt install -y software-properties-common
add-apt-repository ppa:ondrej/php
apt update
インストールと切替
apt install php7.1 php7.1-fpm php7.1-mysql
update-alternatives --list php
update-alternatives --config php
apacheを使う場合は「php7.1」、Nginxを使う場合は「 php7.1-fpm」をインストールしてください。
私の環境には両方入っているので両方入れています。
「update-alternatives –config php」を打つと現在インストールされているphpからバージョンを選択しろって言われます。左に記載されている番号を入力してenterで選択となります。
WordPressを使う場合
WordPressを使う場合は以下モジュールもインストールして、php.iniに使うことを記載しなくてはいけません。
apt install php7.1-mbstring
nano /etc/php/7.1/apache2/php.ini
Nginxを使っている場合は「/etc/php/7.1/fpm/php.ini」です。
元々記載はあるのですが、コメントアウトされているので解除します。
;extension=php_mbstring.dll
↓
extension=php_mbstring.dll
最後はapacheの再起動です。
systemctl restart apache2.server
apacheと連携
a2dissiteコマンドで無効、a2ensiteコマンドで有効になります。
a2dissite php7.4
a2ensite php7.1
systemctl restart apache2.server
後はいつも通りsystemctlでapacheを再起動してください。
Nginxと連携
/etc/nginx/sites-available/にある設定ファイルを変更してください。
現在必要ではないので省略
MySQLと連携
MySQL8を使っていると、デフォルトの認証方法の違いからMySQLとつながらなくなります。これはユーザの認証方法を変えることで対応できます。
mysql -u root -p
use mysql
select user, host, plugin from user;
alter user '[ユーザ名]'@'localhost' identified with mysql_native_password by '[パスワード]';
exit
MySQL8のデフォルト認証方法は「caching_sha2_password」でphp7.1が使う認証方法は「mysql_native_password」です。
今回はMySQLのデフォルト認証方法をphp7.1に合わせることで対応しました。
というよりこれ以外の方法を知りません。