web-dev-qa-db-ja.com

PHP 5.6.6ロードしますが、Apache2.4 64ビットWindowsで解釈しません

Apache LoungeからApache 2.4.12(Win64)VC11をインストールしました。 httpd -Mと入力すると、php5_moduleが読み込まれて共有されていることがわかります。

PHP 5.6.6 win32 VC11 Thread Safeがインストールされています。

Apacheサーバーは正常に起動しますが、ローカルのphpinfoファイルの場所を入力すると、空になります。汎用HTMLをファイルに追加しても問題なく機能しますが、PHPタグの間にあるものはすべて無視されます。 Apacheログは、サーバーのログ記録を開始および停止しますが、エラーは記録しません。アクセスログには、phpinfoファイルへのアクセスに対するサーバーコード200または304が表示されます。

追加エラーを探す場所についての提案はありますか?

4
Kevin Nowaczyk

問題は、構成ファイルにAddHandler php5-script .phpがないことです。

2
Kevin Nowaczyk

まず、php.iniファイルを確認します。ファイルがない場合は、PHPを再インストールしてから、作成します。通常、その時点で、phpは適切に動作します。そうでない場合は、short_open_tagとasp_tagsの値を変更し、engine = onが同じセクションにリストされていることを明確に確認してください。

    [PHP]
    ; This directive determines whether or not PHP will recognize code between
    ; <? and ?> tags as PHP source which should be processed as such. It is
    ; generally recommended that <?php and ?> should be used and that this feature
    ; should be disabled, as enabling it may result in issues when generating XML
    ; documents, however this remains supported for backward compatibility reasons.
    ; Note that this directive does not control the <?= shorthand tag, which can be
    ; used regardless of this directive.
    ; Default Value: On
    ; Development Value: Off
    ; Production Value: Off
    ; http://php.net/short-open-tag
    short_open_tag = Off

    ; Allow ASP-style <% %> tags.
    ; http://php.net/asp-tags
    asp_tags = Off

それでもApacheが停止および起動する場合は、php5_moduleがシステムの残りのメモリよりも多くのメモリを必要とするか、破損しています。

また、memory_limit設定を変更することもできます。ほとんどの場合、32Mの値で問題ありません。

また、エラーログを確認し、エラー報告が有効になっていることを確認します。 PHPの新規インストールでは、多くのオプションがphp.iniファイルで説明されています。

別のオプションは、ディスクの破損をシステムでチェックし、ApacheとPHPの両方を再インストールして、特にApacheがセグメンテーションフォールトを報告した場合にファイル自体の損傷を除外することです。コンピュータ上の他のタスクが異常にフリーズした場合(特にWindowsの起動)、RAM(メモリチップ)を交換する必要がある場合があります。

1
Mike

手がかりはコメントにありますが、興味深いことに十分です。

長い形式のタグと、タグとphpinfo()を使用しています。ソースを表示すると、関数呼び出しが表示されます。

これは、ページがPHPとして処理されていないことを意味します。

  • あなたはしません再インストールする必要はありません
  • あなたはダウングレードする必要はありません
  • あなたはパニックする必要はありません

ただし、PHPを処理する必要があります。

構成ファイルにAddHandler php5-script .phpが欠落している可能性があります。これを.htaccessファイルに追加することもできます(Windowsシステムが起動して、それらを認識していると仮定します)。例えば:

AddHandler php5-script .php .html .CustomExt .stuff

これにより、PHPエンジンに送信されるこれらの4つのエンディングがすべてあります。最初のものはスネセを作り、2番目は議論の問題であり、他の2つは疑わしい。

Php.netによると、他の問題がMIMEタイプハンドラーを追加する必要がある場合があります。

AddType application/x-httpd-php .php

これは、次のいずれかに追加する必要があります。

  • グローバルプロパティ
  • PHPサポートを追加するVirtualDomainのプロパティ

詳細: http://php.net/manual/en/faq.installation.php#faq.installation.processing