
ブログをNext.js14(App Router)でリファクタリングしました
PHP7からPHP8へバージョンアップする際に手間取ったので備忘録を残します。ただし、この記事は「php -vで既にPHP8へのバージョンアップが確認できたにもかかわらず、PHP8が使えない」場合の対処法で、Apacheの設定方法についての記事になります。
【追記: PHP8.1がリリースされています。PHP8.1を使いたい場合は記事内の8.0.xの記述を8.1に置き換えてください。】
目次
環境は以下の通りです。
OS | Mac |
---|---|
Webサーバ | 元から入っているApache |
PHP7→PHP8のバージョンアップの方法は既に記事がたくさん出てるので、参考になるページのURLを記載します。
Upgrade to PHP 8 with Homebrew on Mac
https://a-zache.medium.com/upgrade-to-php-8-with-homebrew-on-mac-aeff424cc668
Mac に Php8 インストールする手順
https://sumito.jp/2021/11/11/2581/
途中でエラーが出ても、コマンドプロンプトの言う通りにコマンド入力を済ませれば難しいことはないと思います。私の場合、git cloneがうまく行かない等のエラーが出ました。
ここまでは順調でバージョンアップはうまくいったのですが、この後につまりました。
php -v
でPHP8へのバージョンアップが確認できたのですが、phpinfo();
で表示されるバージョンはPHP7のままでした。そこでApacheの設定ファイルhttpd.confを調べることに。
ちなみに/etc/apache2/httpd.confにあります。
LoadModule php7_module libexec/apache2/libphp7.so
と明らかにphp7のモジュールを読み込んでいたので#でコメントアウト。新しくPHP8のモジュールを読み込みます。
# LoadModule php7_module libexec/apache2/libphp7.so
LoadModule php_module /usr/local/Cellar/php/8.0.12/lib/httpd/modules/libphp.so
今度はPHPのソースコードがそのままブラウザ表示されるようになってしまいました。
この問題は以下の文を追加することで解決しました。
<IfModule php_module>
DirectoryIndex index.html default.php index.php
AddHandler application/x-httpd-php .php
</IfModule>
別記事で新機能についてまとめてあります。
以上、PHP7からPHP8へのバージョンアップが上手くいかない場合の対処法を説明しました。今回は主にApache側の設定の問題だったことがわかりました。同じような状況に陥った場合は是非参考にしてください。
関連記事
最新の記事
カテゴリー一覧
アーカイブ