71250


Apache2.4 に php7_module がロードできずに困っています。

`httpd.conf` の最後に以下の記述を追加し、管理者権限で `httpd -k start` を実行するとエラーが出ます。

**追記した内容:**

[code]

    LoadModule php7_module "c:/php/php7apache2_4.dll"
    AddHandler application/x-httpd-php .php
    # configure the path to php.ini
    PHPIniDir "C:/php"
    
[/code]

**エラーメッセージ:**

[code]

    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`
    
[/code]

`\` は円マークで表示されます。エンコードすると「モジュールが見つかりません」みたいなメッセージだそうです。

`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` の並びのところや適当な `<IfModule></IfModule>` の場所に置いてもだめだった
  * `"c:/php/php7apache2_4.dll"` について、c を大文字にしても、" "による囲いを解除しても変化なし
  * php, Apache のバージョン
  * php の path が通っているか
  * `php.ini` は作成した


CC BY-SA 4.0
2020-10-16T08:44:46.253
71248
2020-10-16T16:59:09.993
2020-10-16T16:59:09.993
3060
36372
question
php apache
Apache php7_module load エラー


インストールする php に誤りがありました  
Apache はスレッドモデルで処理するので  
Non Thread Safe のものだと正常に動作しません  
Thread Safe でインストールし直すことで解決しました


CC BY-SA 4.0
2020-10-16T09:13:25.247
71250
2020-10-16T09:13:25.247
36372
71248
answer