一日中検索して試した後、XAMPのようなものをインストールする前に、誰かが知っている場合に備えて、なぜ次のことがうまくいかなかったのだろうと思います:
条件: Windows 7 (64)、Microsoft VC (2005/2008/2010/2012)。
目的: ローカル マシンに Web サーバーをインストールして、PHP スクリプトを実行します。
プロセス:
1) まず、 Microsoft VC11を必要とするwin64 用のバイナリ Apache 2.4 をダウンロードしました。次に、conf ファイルを編集して apache をインストールしました。Ok。
2) 次に、PHP をインストールしました。win64 の安定した公式リリースはありません。さて、VC11 x86 Thread Safeをダウンロードし、cmd から "php -i" でインストールしました。「php.exe -f path-to-file」と入力してコンソールで動作したため、これも問題ないようでした。php.ini はデフォルト設定でした。
3) ここから私のトラブルが始まります。Apache と php を統合する必要があります。php.net によると、これを行うには 3 つの一般的な方法があります: cgi、fastcgi、handler です。最後の - as ハンドラーを選択し、httpd.conf の最後に次の内容を追加しました。
LoadModule php5_module "c:/myAdr/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "c:/myAdr"
その後、Webサーバーを再起動できません。次のメッセージが表示されます。
httpd: Syntax error on line 530 of c:/myAdr/apache/conf/httpd.conf: Cannot load c:/myAdr/php/php5apache2_4.dll into server: 1% \xed \xe5 ... win32
そして、あなたがすでに想定していたように、それはうまくいきませんでした。ローカルホストにはまだ「動作する」と表示されますが (つまり、再起動されていない apache は動作します)、まだ php を実行しません:( そして、ここで完了です。設定ファイルに、コメントを外したり追加したりする必要のある特別な行や追加の行はありますか?
簡単なレビュー: apache&php をインストールする前に、適切な Microsoft VC をインストールし、Windows の IIS コンポーネントを無効にしました (そうしないと、ポート 80 に関する一般的なエラーが発生し、IIS などで使用されているため、Apache で使用できません)。VC のバージョン (私の場合は VC11) は、apache と php の両方で一致します (たとえば、VC6 に基づく apache と VC9 に基づく php の使用は、ここでよくある問題です)。私は常に PC の管理者の下にいました。ファイルphp5apache2_4.dllは、Apacheに指定されたパスによると、php-folderにありました。また、ここで同様のトピックをいくつか見ましたが、これらのアドバイスはうまくいきませんでした。または、おそらく、方法がわかりません:(
これまでのところ、2 つの質問があります。
- 私は一般的に何を間違えましたか?
- 最後に問題を整理した人はいますか? はいの場合、多くの人が詳細を知りたいと思います。
アップデート!最後に、私はそれを機能させました!問題 (ファイルphp5apache2_4.dllがロードされておらず、見つからない場合のエラー) は、バージョンの非互換性、つまり、私の OS が win7 (64) であり、私の apache が win64 (httpd-2.4.6-win64-VC11) 用に設計されていることで構成されています。 、しかし、win64用の公式の安定したphpバージョンがないため、win32用に設計されたPHP(php-5.5.1-Win32-VC11-x86)を使用しました。私にとっての解決策は、win64 用の php を見つけることでした。このトピックの最初のリンク http://www.apachelounge.com/viewtopic.php?p=23384 は、Windows x64 用の PHP 5.4.9 を提供します。注意、そこには php.ini ファイルはありません! 他のディストリビューションからそれらを取得する必要があります。そして、最初に上記のようにそのバージョンをインストールした後、すべてが機能するようになりました!