min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

fedora 30 PHP7が503エラー「Service Unavailable」→ /etc/httpd/conf.modules.d/00-mpm.conf を編集して解消

fedora30 php7が動かない。phpinfo() すらこんなだ。

f:id:min117:20190819215426p:plain

 

<環境>

# httpd -v

Apache/2.4.39(Fedora

# php -v

PHP 7.3.8

f:id:min117:20190819213233p:plain

 

<直し方>

# vim /etc/httpd/conf.modules.d/00-mpm.conf

 

LoadModule mpm_event_module modules/mod_mpm_event.so

コメントアウト

#LoadModule mpm_event_module modules/mod_mpm_event.so

 

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

コメントアウトを外す(有効化する)

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

 

# systemctl restart httpd

 

参考にした記事はこれ。こういう生の記事が一番役に立つ。

diary.d-yoshi.com

 

 

 

以下、解決に至るまでの経緯。

 

まず最初、phpinfo.php すら起動しない現象が発生。f:id:min117:20190819215426p:plain

この状態ではhttpdが悪いのかphpが悪いのか判断できない

 

phpfedora30をセットアップした直後にyumインストールしたけど…もしかしてphpのインストール自体に失敗してるのか?

 

phpCLI(コンソール版)で動かしてみる。

# php phpinfo.php

f:id:min117:20190819221115p:plain

 

phpが吐き出した文字列が出てくる。この時点で「phpは悪くないんじゃないかな?」「phpインストール自体はうまく行ってそう」という感じ。

f:id:min117:20190819221214p:plain

ということは原因はhttpdではあるまいか。

 

# curl http://サーバのアドレス/phpinfo.php

すると503エラーが返ってきていた。

 

この記事参照して1つ1つ原因らしきものに当たっていく。

qiita.com

 

httpdfirewallでブロックされているのではあるまいか。httpdを許可する設定をする。

# firewall-cmd --list-all

# firewall-cmd --add-service=http --permanent

# firewall-cmd --reload

# firewall-cmd --list-all

f:id:min117:20190819212256p:plain

httpdを再起動。

# systemctl restart httpd

f:id:min117:20190819213817p:plain

しかし解消しない。

f:id:min117:20190819215426p:plain

 

 

そこでhttpdのログを見る。

 

# vim /var/log/httpd/error.log

f:id:min117:20190819212806p:plain

何かphp-fpm」なるものがエラーを吐いている。

 

Google先生に丸投げして答えを探してもらう。

f:id:min117:20190819222236p:plain

役に立ちそうな記事を発見。

diary.d-yoshi.com

 

む。この記事良さそう。

f:id:min117:20190819222422p:plain

まんま試す。

 

# cd /etc/httpd/conf.modules.d/

# ll

f:id:min117:20190819213736p:plain

 

# vim /etc/httpd/conf.modules.d/00-mpm.conf

 f:id:min117:20190819213729p:plain

 

LoadModule mpm_event_module modules/mod_mpm_event.so

コメントアウト

#LoadModule mpm_event_module modules/mod_mpm_event.so

 

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

コメントアウトを外す(有効化する)

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

f:id:min117:20190819213755p:plain 

編集後はhttpdを再起動する。

# systemctl restart httpd

f:id:min117:20190819213817p:plain

よし。

 

phpinfo.php にアクセスできるか試す。

f:id:min117:20190819222945p:plain

動いた。素晴らしい。

 

というか、yumでインストールしたのにしょっぱなから動かないなんて、普及させるつもりないだろfedora。ダメダメじゃないか。

 

おまけ)

html内に書いたphpコードが動くようにする。

min117.hatenablog.com

# vim /etc/httpd/conf/httpd.conf

AddType application/x-httpd-php .html を書き足す。

f:id:min117:20190819214048p:plain

# systemctl restart httpd

f:id:min117:20190819214113p:plain

 

これでたくさんの自作アプリが動く。よかったよかった。

f:id:min117:20190819223657p:plain

min117.hatenablog.com