web-dev-qa-db-ja.com

Apache2.4が実行されていないPHP 7(Windows)

Apacheをインストールしました。今日まで問題なく動作していました。phpファイルを作成したので、Apacheはそれを開けませんでした。次にWebを検索したところ、phpをインストールする必要があることに気付きました(私はLinuxを使用しているため、これを実行する必要はありませんでした)。私はいくつかのチュートリアル( ここ 、および ここ )に従いましたが、このどれも機能しません。以下にリストする最も一般的なものを完全に破棄できるように少し調査しました。

  1. 私のファイルにはphp拡張子が付いています(そしてiniファイルは「.php」ファイルを読み取るように構成されています)
  2. Apacheの「httpd-conf」ファイルは次のように変更されます。

_# PHP7 module LoadModule php7_module "C:/php/php7Apache2_4.dll" AddType application/x-httpd-php .php PHPIniDir "C:/php"_

  1. _httpd -t_はうまくいきます
  2. _php -v_もそうです
  3. 私が参照する最初のWebページが示唆するように、私のphp.iniファイルは「コメント解除」されています
  4. すでにPCに環境ルートを追加しました

それで、何か手がかりはありますか?私がやったことに何か問題がありますか? phpの前にApacheをインストールすることは問題ですか?それが私が考えることができる唯一のことです、これと他のウェブサイトで提案されたすべての修正を調査して試した後、私が考えることができる唯一の「論理的」な説明です(あまり一般的ではないものを忘れたり、間違った「チュートリアル」に従ってください)。

ありがとう!

編集:

Apacheがphpファイルをロードしているときにコードを表示するだけなので、何かがおかしいと思います。私のphpコードにいくつかのhtmlが含まれている場合、これは正しく表示されますが、php部分は表示されません(phpコード間の構文の問題をチェックし、問題なく動作しました)。

後で私は以下をロードしてみることにしました:

<? php phpinfo(); ?>

_index.php_ファイル(別の名前を使用して_localhost/test.php_として指定しようとしました)で、空白のページが表示されます。

EDIT2:

ここに私が使用しているバージョンがあります:

PHP 7.3.9(TS)x64 Apache 2.4.41 x64

EDIT3:

PHP 7.2.22にダウングレード、まだ機能していません。さまざまなWebサイトで提案されているようにいくつかの変更を行い(基本的にはhttpd-confファイルに追加します)、以前と同じように構文を確認しました。まだ何もありません。 Apacheを起動し、index.php(テストスクリプト)を含む「localhost」ページをロードして、問題を見つけるためにログを確認しようとしました。専門家ではないので、ログと言いますうまくいきましたが、誰かが何か変なことに気づいた場合に備えて、ここに貼り付けます。

ログ:

[2019年9月4日水曜日10:40:34.234726] [mpm_winnt:notice] [pid 7276:tid 768]

AH00455:Apache/2.4.41(Win64)PHP/7.3.9が設定されました-通常の操作を再開します

[2019年9月4日水曜日10:40:34.234726] [mpm_winnt:notice] [pid 7276:tid 768]

AH00456:ApacheラウンジVS16サーバーの構築:2019年8月9日16:46:32

[Wed Sep 04 10:40:34.234726 2019] [core:notice] [pid 7276:tid 768] AH00094:

コマンドライン: 'C:\ Apache24\bin\httpd.exe -d C:/ Apache24'

[2019年9月4日水曜日10:40:34.234726] [mpm_winnt:notice] [pid 7276:tid 768]

AH00418:親:作成された子プロセス8232

Apacheサーバーのシャットダウンが開始されました...

pm_winnt:notice] [pid 8232:tid 784] AH00354:子:64個のワーカースレッドを開始しています。

[Wed Sep 04 10:41:33.635398 2019] [mpm_winnt:notice] [pid 7276:tid 768]

AH00422:親:シャットダウン信号を受信しました-サーバーをシャットダウンしています。

[Wed Sep 04 10:41:35.666154 2019] [mpm_winnt:notice] [pid 8232:tid 784]

AH00364:子:すべてのワーカースレッドが終了しました。

[2019年9月4日水曜日10:41:35.681785] [mpm_winnt:notice] [pid 7276:tid 768]

AH00430:親:子プロセス8232が正常に終了しました。

「-サーバーをシャットダウンしています。」は、午前10時41分にアプリケーションを閉じたときのことです。

これが役に立てば幸い

1
N00b

考えとして、PHPのバージョンがApacheのバージョンに適していることを確認することを検討することをお勧めします。これには、次のものが含まれます。

  • PHPとApacheの両方が互換性のあるコンパイラでコンパイルされていることを確認します。

  • 両方が32ビットまたは64ビット形式でコンパイルされたことを確認します。

  • PHPのスレッドセーフ(TS)バージョンを使用していることを確認してください。

  • 7.4の初期バージョン(7.4.0beta2まで)を使用している場合は、バージョンのダウングレードまたはその他の切り替えを検討してください。

編集

ログ情報は、ApacheのApacheラウンジビルドを実行していることを示しています。これは、PHP 7.3.9と互換性があります。

_.php_ファイルでphpinfo()テストを実行しようとしましたが、何も表示されず、空白のページだけが表示されます。

これは、PHPの典型的な構文エラーです。元の投稿を振り返ると、<? php phpinfo(); ?>コマンドは<?php phpinfo()?>である必要があります。既知の動作中のPHPインストールで<? php phpinfo(); ?>を実行(Apache Lounge Apache v2.4.41 VS16 x32 with PHP 7.3.9 VC15 TS x32 )も空白のページを生成しました。

0
Anaksunaman