1 年後、Apache+php を再度インストールしました。インストール後、php について新たに理解できました。
昨年のインストール中にメモを書きました: http://blog.csdn.net/monkey7777/article/details/9261325。
詳細な設定レッスンについては、上記のメモを参照してください。
次に、インストールプロセス中に発生する可能性のあるいくつかの問題を書き留めます:
1. Apache の起動時にエラーが発生しました: httpd: サーバーの完全修飾を確実に判断できませんでした
ドメイン名
この問題についての私の理解は、ポートの問題です。 (港占有、港湾紛争および同様の問題)
1 つの方法は、Apache の httpd.conf ファイルで「Listen」を見つけて、そのポート値を変更することです。
もう 1 つのアプローチは、現在ポートを占有しているプロセスを見つけて、そのプロセスを強制終了することです。
ポートの使用状況を検索:
netstat -ano|findstr "8080"このポートを使用してプロセスを表示します: (「x」はプロセス番号です)
tasklist|findstr "x"
プロセスを終了する: (「x」はプロセス番号です)
リーリー Tomcat はポート 8088 を使用し、iis はポート 8080 を使用するため、Listen 値を 8090 に変更して問題を解決しました。
上記の 2 つの方法で問題が解決しない場合 (DNS 構成の問題であるはずです)、httpd.conf に文を追加できます (「ServerName localhost:8090」を追加します。場所は次のとおりです)。 れーれー
最新バージョンのphp (php-5.5.15-Win32-VC11-x64) をダウンロードしました。
httpd.conf に次の文があります: (このエラー行は、エラーを報告するときに表示されます)
れーれー
この問題を見た後、最初に考えたのは、php5apache2_4.dll を php5apache2_2.dll に置き換えることでした。しかし、実践は失敗であることが判明しました。
オンラインで検索すると、その理由は次のように理解できます: バージョンの問題。
注意して見ると、php 名に VC9 と VC11 のロゴがあることがわかります。この PHP がどの VC コンパイル環境で実行されるかを表します。 (結局のところ、これは C++ で書かれています...)
私の理解では、VC9 を使用したものは VC2008 ランタイムがインストールされた状態で実行され、VC11 を使用したものは VC2012 ランタイムがインストールされた状態で実行される必要があります。しかし、2012 ランタイム ライブラリをインストールした後も、依然として正しく実行できないことがわかりました。 Liangshen が提供する php-5.3.6-Win32-VC9-x64 を使用しました (中身は php5apache2_2.dll です)。設定後は問題なく実行できました。
http://windows.php.net/公式 Web サイトには次のように記載されています:
tskill "x"は、VC9 と VC11 がそれぞれ特定のコンパイル環境を必要とすることを意味します。 VC9 --> VC2008、VC11 --> VC2012。
つまり:
#ServerName www.example.com:80 ServerName localhost:80でも、公式サイトには記載されていないので、対応関係はないはずだと思います。
しかし、VC2012 ランタイム ライブラリをインストールした後も、VC11 バージョンの php はまだ使いにくいです。VC2012 ランタイム ライブラリが適切にインストールされていないか、何らかの対応関係があるのではないかとしか思えません。
環境に問題がないのであれば、この対応を試してみると良いでしょう。