Help us understand the problem. What is going on with this article?

phpのバージョン更新で、apacheが動かない場合の対処法

More than 1 year has passed since last update.

状況説明

開発環境
  • Server:Apache/2.4.25 (Unix)
  • OS:mac 10.12.16
  • php:5.6
何かあった
  • 昨日MacデフォルトのPHPバージョンを5.6から7.2に更新しました。更新した直後はローカルのzendframeworkアプリは普通に動いています。
  • 今日一回apacheをrestartしたら、localhostが開かなくなった。どうやらapacheが動けなくなったらしい。
  • 問題特定するため、ターミナルにhttpd -tを入力したら、「Syntax OK」しか返ってこない。
  • 他には sudo apachectl configtest も試したけど、「Connection refused」が返って、原因の特定に至っていませんでした。

問題の在り処

その後も色々試したあと、最終的に問題点を掴みました。

PHPの更新によって、apacheの設定も更新しなければならない

何かアホそうな結論に至ってしまいました(汗)。

対処法

  • 原因として、apacheでphpのプログラムを動かしたい場合、引用が必要です
  • MACでは予めapacheが搭載され、デフォルト的にはphp5を指定しています:
httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so
  • ただphpの更新で、引用も新しいバージョンに変えないと、apacheが動けなくなりそうです。
  • 解決策はシンプルに、新しいバージョンの引用を付き加えれば良い
httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php7_module 「ここは自分のlibphp7.soの位置を指定」
  • libphp7.soの位置がわからない場合は、ターミナルに「locate libphp7.so」を打ってば分かるはずです。
  • httpd.confの位置は/etc/apache2/にありますが、システムに違いによって異なる可能があります、また、homebrewでインストールされたapacheでは別の場所にいますので、httpd -Vで確認できます。
Buddychen
日本留学二年目の留学生です。
http://buddychen.xyz
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした