質問: Apache2.4 に php7_module がロードできずに困っています。 `httpd.conf` の最後に以下の記述を追加し、管理者権限で `httpd -k start` を実行するとエラーが出ます。 **追記した内容:** ``` LoadModule php7_module "c:/php/php7apache2_4.dll" AddHandler application/x-httpd-php .php # configure the path to php.ini PHPIniDir "C:/php" ``` **エラーメッセージ:** ``` Error Code: `httpd: Syntax error on line 538 of C:/Apache24/conf/httpd.conf: Cannot load c:/php/php7apache2_4.dll into server: \x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B` ``` `\` は円マークで表示されます。エンコードすると「モジュールが見つかりません」みたいなメッセージだそうです。 `LoadModule php7_module "c:/php/php7apache2_4.dll"` と `PHPIniDir "C:/php"` をコメントアウトすると Apache はちゃんと起動します。 `httpd.conf` を書き変えた後に Apache を起動すると php のフォルダに `php7apache2_4.dll` が追加され、 ### 確認したこと * `LoadModule php7_module "c:/php/php7apache2_4.dll"` や `AddHandler application/x-httpd-php .php`, `PHPIniDir "C:/php"` の場所を `LoadModule` の並びのところや適当な `` の場所に置いてもだめだった * `"c:/php/php7apache2_4.dll"` について、c を大文字にしても、" "による囲いを解除しても変化なし * php, Apache のバージョン * php の path が通っているか * `php.ini` は作成した
回答: インストールする php に誤りがありました Apache はスレッドモデルで処理するので Non Thread Safe のものだと正常に動作しません Thread Safe でインストールし直すことで解決しました