ホームページ バックエンド開発 PHPチュートリアル win7 64 ビット Apache http サーバー + PHP 構成

win7 64 ビット Apache http サーバー + PHP 構成

Jul 25, 2016 am 09:12 AM

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 の下に置くと、正しく実行されます。
他のリリース バージョン、MFC プログラムなどの場合は、redist の下の対応するフォルダーにファイルをコピーするだけです。
フォルダーの後に記号があります。

このヒントを受け取った後、私はこれを思い出しました。

その後、php5.5をインストールするときに、再びこのエラーメッセージが表示されました。最初は自分の理解に従ってVC++2010ランタイムライブラリをインストールしましたが、どのようにデバッグしても、依然としてこのエラーが発生しました。インターネットから VC の最高バージョンの ++2012 ランタイム ライブラリをダウンロードすると、すぐに成功しました。 (この理由はインターネットで見つけましたが、実践していません。もう VC++2012 ランタイム ライブラリをインストールしたくないです!!!)

そこで、インターネットで古いバージョンの PHP を見つけました。ダウンロード URL: http://download.csdn.net/download/tonyyxm/5428271

2.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 を

に設定します 5. コマンドプロンプトで httpd -k start を再度実行します。エラーは発生せず、Apache サービスが正常に開始されます。

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
ポートがプロセス番号 2448 のプロセスによって占有されていることがわかりましたか? 次のコマンドの実行を続けます:
C:>tasklist|findstr " 2448"
thread.exe 2016 Console 0 16,064 K
それは非常に明らかです、スレッドがポートを占有しています、それを強制終了してください
2 番目のステップで見つからない場合は、タスク マネージャーを開いて、どのプロセスが 2448 であるかを確認してから、それを殺します。
必要に応じて他のポートを確認してください。 80 を変更するだけです
追加: このエラー (httpd.exe: ServerName に 192.168.1.111 を使用して、サーバーの完全修飾ドメイン名を確実に決定できませんでした) の原因は、DNS が正しく構成されていないためであることがわかりました。 DNS を設定する必要はありません。httpd.conf の先頭に ServerName localhost:80 を追加するだけです

2. 「(OS 10013) アクセス許可で許可されていない方法でソケットにアクセスしようとしました。: make_sock: アドレス 0.0.0.0:80 にバインドできませんでした」


解決策:
ポートを変更し、.apacheconfhttpd.conf を開き、その中の 80 をすべて 81 に変更し、保存して Apache を再起動すれば OK。

ポートを変更した後、次の URL にアクセスします: http://localhost:81/test.php

スクリーンショット:

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

See all articles