キタックCGソリューションセンター

制作室の叫び

MAMPでhtaccessを使ってPHPのバージョンを切り替える

2021年04月20日(火)

石本貴康

0

0

PV 37

だいぶ旧バージョンのWordpressサイトを最新バージョンに上げる必要があり、そのまま上げるのは怖すぎるので、MAMPで作ったローカル環境にサイトを移設して検証しようと思ったのですが……
MAMPではPHPのバージョンが新しいため、そのままではサイトが動かない……つらい……

そこでレンタルサーバーでよくあるhtaccessに記述したらそのバージョンのPHPで動くようにできるやつ、ローカルでも実現できねーかなーと思って調べてみたら、出来ました。備忘録がわりに書いておきます。

なお、Macでのお話です。また/Applications/MAMP/にインストールした場合です。環境が異なる場合は適宜読み替えてください。

1、シンボリックリンクを作成

ターミナルを立ち上げて、以下のコマンドを実行します。

cd /Applications/MAMP/cgi-bin
ln -s /Applications/MAMP/bin/php/php5.6.40/bin/php-cgi php56

1行目:/Applications/MAMP/cgi-binディレクトリに移動
2行目:PHP5.6.40のCGI版へのシンボリックリンクを「php56」という名称で作成

上記は5.6.40で動かしたい場合です。
/Applications/MAMP/bin/php/を覗けば、どのバージョンが入っているか分かります。
動かしたいバージョンに置き換えて実行してください。

2、httpd.confを修正・追記

/Applications/MAMP/conf/apache/httpd.confを編集します。

ファイルのどこかに以下の記述があるので、

<Directory "/Applications/MAMP/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

以下のように書き換えます。

<Directory "/Applications/MAMP/cgi-bin">
    AllowOverride None
    Options FollowSymLinks
    Require all granted
</Directory>

Options NoneFollowSymLinksに変更することでシンボリックリンク先を参照できるようになります。

また、ファイルのどこかに以下の一文を追加してください。

Action php5.6-script /cgi-bin/php56

php5.6-scriptの部分はなんでもいいです。
php5.6-scriptというアクションがリクエストされた時に/cgi-bin/php56が実行されるよ、という感じの意味です。

3、htaccessの編集

以下の記述をhtaccessファイルに記述してください。

AddHandler php5.6-script .php

phpファイルだったらphp5.6-scriptというアクションを実行するよ、みたいな感じの記述です。

先にhttpd.confphp5.6-scriptというアクションのパスを/cgi-bin/php56に設定していました。
これはPHP5.6.40のCGI版へのシンボリックリンクなので、つまりphpファイルが来たらPHP5.6.40のCGI版が動作する、といった感じです。


403エラーが出るときはおそらく/Applications/MAMP/bin/php/php5.6.40/bin/php-cgiのパーミッション周りだと思うので、ファイルやディレクトリの権限を確認してみてください。755とかにすればOKかと。

これでMAMPでhtaccessを使ってPHPのバージョンを指定できるようになってる、はず。たぶん。
ダメでも怒らないでください。では。

Share プリーズ
書き手は私 石本貴康

よろしければどうかご感想を!

この記事のタイトル
MAMPでhtaccessを使ってPHPのバージョンを切り替える
感想を送るノート
お名前必須
メールアドレス必須
ご意見・ご感想必須

ご入力いただいた内容は、当社プライバシーポリシーに基づき厳重に管理いたします。メールの返信以外には使用しません。プライバシーポリシーに同意の上、お進みください。


表示された5文字の英数字を入力してください。

確認画面はありません。
いったんページの上部に戻りますが、問題なく送信されます。

キタックCGSCコアメンバー

  • 樋口大輔
  • 小林将太
  • ちゃんまき
  • 高橋どらみ
  • 高橋皓一
  • 笠井
  • 石本
  • 佐藤サバ美
  • こめ
  • 佐久間尭