PHP

元のPHPを削除せずに他のPHPバージョンを使う方法

起った問題

自分のMacのlocalでcakePHP1.3を使うにあたり、PHP5.3が必要だった。(会社の環境に合わせる必要があったため)
しかし、私のMac(macOS 10.13 High Sierra)の環境にはApacheでPHP7.1が動く様に設定されており、このままcakePHPを使うと
参照渡しをやめなさい…というエラーが出てきて、消しても消しても進まない。
できれば、使うPHPのバージョンが変わるごとに入れ直す以外のものは無いかと探していた。

パッケージを使う

色んな方法がある様ですが、初心者の私でも何とか理解できる方法がパッケージの入手でした。

★ここで使いたいバージョンを選びます (今回は5.3を使いました)
!!注意!!
インストールに非常に時間がかかるのでなるべく回線速度が速いところでのインストールをお勧めします。

PHP 5.3 to 7.2 for OS X / macOS 10.6 to 10.13
as binary package

*こちらの方が書かれてる記事が大変わかりやすかったです。
Macで一番簡単にPHP5.4をインストールする方法

この後、httpd.confの修正をしないとまだ使えません。

インストールするだけでは使えなかった

元々のPHP7の部分をコメントにします

#LoadModule php7_module libexec/apache2/libphp7.so

これで表示まではできました、が!!
表示されたPHPの拡張子のファイルがクリックする度にMacにダウンロードされてしまう。。。
PHP7の状態の時は大丈夫だったのになぜ…

もう一箇所httpd.confの修正をします。

<FilesMatch "\.php$">
#AddHandler php7-script .php ←元々Macに入ってる7の方はコメントにする
AddHandler php5.3-script .html  ←★追加したら普通に表示できた。
AddType application/x-httpd-php .php ←元々書いてあった、PHPの拡張子を表示する文。
</FilesMatch>

これで、7を消さず5.3を使える様になりました。
以上、走り書きめもでしたので簡単ですが、後日色々わかったら修正するかもです!!

参考資料

PHP 5.3 to 7.2 for OS X / macOS 10.6 to 10.13
as binary package

Macで一番簡単にPHP5.4をインストールする方法

拡張子 .html で PHP を動作させたい。