1. まず、apache http サーバーをダウンロードします (当初は公式 Web サイトからダウンロードしたかったのですが、長時間探しても見つからなかったので、この Web サイトから古いバージョンをダウンロードしました)。 : http://download.csdn .net/download/chang87812/7175961 PHP のダウンロード: 同様に、公式 Web サイト (URL: (http://windows.php.net/downloads/releases/)) から最新バージョンをダウンロードしました しかし、設定後に問題が発生しました。 問題は次のとおりです: httpd: D:/PHP/server/httpd-2.2-x64/conf/httpd.conf の 129 行目の構文エラー: D:/ApaServ/php/php5apache2_4.dll をサーバーにロードできません: a3.その理由は、このファイルはバージョンに対応している必要があり、そうでない場合はロードできないためです。その後、同じプロンプトが再び表示されましたが、php5.4.8 に変更されました。174 行目で、「D:ApaServphpphp5apache2_4.dll」のアクティブ化コンテキストの生成に失敗しました。 依存アセンブリ vcredist_x86.exe が見つかりません。その後、解決策は次のとおりです。 vcredist_x86.exe を再インストールします。これは、Apache をインストールする前にインストールされていたため、内部のファイルが書き換えられた可能性があります。オンラインでも調べました。 C:Program FilesMicrosoft Visual Studio 8VCredi stDebug_NonRedistx86Microsoft.VC80.DebugCRT のような場所に次のファイルを見つけました。 msvcm80d.dll msvcp80d.dll msvcr80d.dll Microsoft.VC80.DebugCRT.manifest これらのファイルをターゲット上にコピーします。マシンの場合は、実行中のプログラムと同じフォルダーに置くか、system32 の下に置くと、正しく実行されます。 その後、php5.5をインストールするときに、再びこのエラーメッセージが表示されました。最初は自分の理解に従ってVC++2010ランタイムライブラリをインストールしましたが、どのようにデバッグしても、依然としてこのエラーが発生しました。インターネットから VC の最高バージョンの ++2012 ランタイム ライブラリをダウンロードすると、すぐに成功しました。 (この理由はインターネットで見つけましたが、実践していません。もう VC++2012 ランタイム ライブラリをインストールしたくないです!!!) そこで、インターネットで古いバージョンの PHP を見つけました。ダウンロード URL: http://download.csdn.net/download/tonyyxm/54282712.Apacheをインストールします 1. 32 ビット Apache とは異なり、exe ファイルにパッケージ化して直接インストールできます。まず、httpd-2.2.19-win64 を E:/server/apache- httpd-2.2.19-win64/ ( /*E は特定のサーバー ファイルが配置されているドライブ文字です */) 2. 管理者としてコマンド プロンプトを実行し ([スタート]、[プログラム]、[アクセサリ])、「E:/server/apache-httpd-2.2.19-win64/ 」と入力します。 3. httpd -k installを実行します
ここで問題が発生しました: winNT サービス マネージャーを開けませんでした 解決策: インストール中に、ソフトウェアが Windows 7 の「ユーザー アカウント制御」(UAC) と競合することが判明しました。まず UAC をオフにしてください (コントロール パネル - ユーザー アカウントとファミリー セキュリティ - システムとセキュリティ - アクション センター)。 「ユーザーアカウント制御の変更」があるので、「通知しない」に変更すれば再起動が必要になります。インストールが完了したら、元に戻してください。
4. httpd.conf を変更します。ここでの設定は 32 ビット システムの場合と同じです (1) ServerRoot「E:/server/httpd-2.2.19-win64/」を変更します (2) 下に進むと、#LoadModule vhost_alias_module modules/mod_vhost_alias.so など、Apache によって有効化された関数モジュールが表示されます。 後で追加されたモジュール: LoadModule php5_module "E:/Server/php-5.3.6-Win32-VC9-x64/php5apache2_2.dll" PHPiniDir "E:/Server/php-5.3.6-Win32-VC9-x64/" AddType application/x-httpd-php .html .htm .php (3) 引き続き下に進み、DocumentRoot "E:/Code/PHP/" 行を見つけて Web ページ ファイル ディレクトリを設定します。この行は # 行の後の directory 設定に対応するように変更する必要があります。 DocumentRoot をに設定します
6. Apache サーバーをシャットダウンします: httpd -k shutdown を実行します 3.PHPを設定する1. 前述したように、php ディレクトリを E:/Server/php-5.3.6-Win32-VC9-x64/ に解凍します。これは、前の手順で Apache に設定した LoadModule の場所に対応します。 2. php.ini-development を php.ini に変更します。 3. php.ini を開き、extension_dir を見つけて、その値を E:/Server/php-5.3.6-Win32-VC9-x64/ext/ に変更します。これは、php ファイルが配置されているディレクトリです4. 拡張機能のリストを見つけて、;extension=php_gd2.dll、;extension=php_mysql.dll、;extension=php_mysqli.dll の前の「;」を削除して、拡張機能を有効にします。のみであり、機能に応じて調整できます。異なる要件が必要ですが、対応する拡張機能を有効にしてください 5. (オプション) date.timezone の値を Asia/Shanghai に設定します。つまり、date.timezone =Asia/Shanghai です。 6. E:/Code/PHP/ に次の内容の test.php ファイルを作成します。
phpinfo(); ?> 次に、ブラウザのアドレスバーに http://localhost/test.php と入力します
上記の設定プロセスは他の人に属しています。私が設定した後、次の 2 つの問題が発生しました: 1. httpd: サーバーの完全修飾を確実に判断できませんでした 解決策: 前書き: Apache は実行できますが、「httpd.exe: 192.168 を使用してサーバーの完全修飾ドメイン名を確実に決定できませんでした。他のものがポート 80 を占有しています。」というエラーが表示されました。コマンドプロンプトで netstat -ano と入力し、すべての接続の PID を確認します。タスク マネージャーでこの PID に対応するプログラムを見つけます。1 つの項目については、[表示] - [] を選択します。タスクマネージャーで「列」を選択してください アプリケーションを起動すると、システムに必要なポートが他のプログラムによって占有されていることがよくあります。必要なポートを誰が占有しているかをどうやって知ることができますか? 多くの人が疑問に思っていますが、これはかなりの頭痛の種です。これは非常に簡単な方法です。誰が 80 ポートを占有しているかを確認する必要がある場合は、Windows プラットフォームで次のコマンドを実行します。 C:>netstat -aon | findstr "80" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448 スクリーンショット:
|