ホームページ バックエンド開発 PHPチュートリアル WindowsでのNginx+PHP5のインストールと設定方法

WindowsでのNginx+PHP5のインストールと設定方法

Jun 13, 2016 pm 01:07 PM
error fastcgi nginx php windows

Windows での Nginx+PHP5 のインストールと設定方法

PHP5 をインストールします
まず、最新の PHP5.2.9-2 Windows バージョンを http://www.php.net/downloads.php からダウンロードし、C:php に解凍して、php.ini を配置します。 、名前を php.ini に変更し、いくつかのオプションを開いて変更します:

error_reporting = E_ALL
display_errors = オン
extension_dir = "C:phpext"

; 動的拡張の場合、必要に応じて拡張の前のコメントを削除できます。たとえば、PDO をロードするには、MySQL
extension=php_pdo.dll
extension=php_pdo_mysql.dll

; CGI 設定

cgi.force_redirect = 1
cgi.fix_pathinfo = 1
cgi.rfc2616_headers = 1

PHP の拡張機能をロードする場合は、依存関係に注意する必要があります。たとえば、php_exif.dll を正常にロードするには、php_mbstring.dll を php_exif.dll の前に置く必要があります。一部の拡張機能は、PHP 5.0 以降などの追加の dll ファイルに依存し、php_mysqli.dll は libmysql.dll に依存し、php_oci8.dll の場合は、Oracle 8 クライアントをインストールする必要があります。これらの依存関係についてよくわからない場合は、インストール パッケージの install.txt ファイルを参照してください。

依存ファイルの検索順序: 最初は php.exe が配置されているディレクトリ、次に Apache の bin ディレクトリなどの Web サーバーの起動場所が検索されます。 Windows PATH 環境変数内のディレクトリ。ここでは Windows ディレクトリにファイルをコピーしないでください。必要に応じて、将来の PHP アップグレードを容易にするために C:php5 を PATH に追加できます。

Nginx をインストールします

v0.7.52 から、Nginx は Windows バージョンの Nginx をリリースし始めます。公式 Web サイトからダウンロードできます: http://nginx.net
私は 0.8.37 を使用しています。ダウンロード後、リリースファイルをD:nginxに解凍します。

PHP FastCGI の設定

Nginx はリクエストを処理するために FastCGI サーバーと連携する必要があります。PHP FastCGI サーバーを実行するには 2 つの方法があります。
c:/php を実行します。コマンドライン /php-cgi.exe -b 127.0.0.1:9000 -c c:/php/php.ini で PHP FastCGI
を起動します

Nginx 構成ファイル dnginxconfnginx.conf を変更し、PHP 関連の部分を見つけて次のように変更します:

# 127.0.0.1:9000 でリッスンしている FastCGI サーバーに PHP スクリプトを渡します
location ~ .php$ {
root d:/public_html;
include php.conf;
}
root ($document_root) は、php スクリプトのルート ディレクトリを指し、Web サイトのルート ディレクトリに設定されます。 Windows では、ルート パスに注意する必要があります。Windows のデフォルトの "" ではなく、"/" をパス区切り文字として使用するのが最善です。そうしないと、たとえば、次のパスのように問題が発生しやすくなります。は機能しません。テスト内の t はタブ文字として解析されるため、Nginx は 500 エラーをスローします。もちろん、d:\public_html\test のようにバックスラッシュ エスケープを追加することもできます。

php.conf は、PHP 設定を保存するために作成したファイルです。実際、このファイルには次の 3 行のコマンドしかありません。

# ローカル ポート 9000 に接続します。ここでのポートは、PHP によって開かれたポートを指します。 FastCGI Server.
# php-cgi.exe によって開かれたポートと一致させてください
# Nginx が php ファイルのリクエストを受信すると、それを PHP FastCGI Server
fastcgi_pass 127.0 に自動的に転送します。 0.1:9000;
fastcgi_indexindex.php;
include fastcgi_params;
設定を保存するために別の php.conf を作成する必要がある理由は、複数の仮想ホストを設定するときに nginx.conf を簡素化するためです。 nginx の場合、各仮想ホストで php を設定する必要があるため、メインの設定ファイルは繰り返しが多くなり、肥大化します。

d:nginxconffastcgi_params ファイルを変更し、次の行を追加する必要があります:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

そして、php.ini を変更して cgi.fix_pathinfo = 1 に設定します。これは非常に重要です。そうしないと、PHP は処理する必要のある PHP スクリプトを見つけることができなくなります。

その他の設定、メインサーバー:

# デフォルトで開始されるプロセスの数
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log Notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
# プロセスによって処理される接続の最大数、
# ローカル開発、デフォルトは不要1024、ここでは 64
worker_connections 64;
}
に変更されました

デフォルトのindex.phpindex.htmlなどのホームページファイルがディレクトリにない場合、Nginxは403エラーをスローします。このディレクトリをリストする必要がある場合は、http {…}に次のコマンドを追加します。 🎜 >autoindex オン;

autoindex_exact_size オン;
autoindex_localtime オン;

start_nginx.bat、PHP FastCGI と Nginx を同時に起動するために使用されます:
@echo off
echo starting PHP FastCGI...
RunHiddenConsole c:/php/php-cgi.exe - b 127.0. 0.1:9000 -c c:/php/php.ini
echo nginx を起動しています...
d:/nginx/nginx.exe
RunHiddenConsole.exe は、DOS ウィンドウを非表示にするために使用される小さなプログラムです。ここから RunHiddenConsole.zip (1.01 kb) をダウンロードします。
start_nginx.bat を開いた後、DOS ウィンドウも表示されますが、安全に閉じることができ、Nginx と php-cgi.exe は閉じられません。
stop_nginx.bat、シャットダウンに使用:
@echo off
echo nginx を停止しています...
taskkill /F /IM nginx.exe > nul
echo PHP FastCGI を停止しています。 .
taskkill /F /IM php-cgi.exe > nul
exit
これで基本的な設定は完了です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPの継続的な使用:その持久力の理由 PHPの継続的な使用:その持久力の理由 Apr 19, 2025 am 12:23 AM

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

Laravelインストールコード Laravelインストールコード Apr 18, 2025 pm 12:30 PM

Laravelをインストールするには、これらの手順を順番に進みます。コンポーザー(MacOS/LinuxとWindows用)インストールLaravelインストーラーをインストールします。

IISとPHPの互換性:ディープダイビング IISとPHPの互換性:ディープダイビング Apr 22, 2025 am 12:01 AM

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

Laravelの使用:PHPでWeb開発を合理化します Laravelの使用:PHPでWeb開発を合理化します Apr 19, 2025 am 12:18 AM

Laravelは、次のようなWeb開発プロセスを最適化します。1。ルーティングシステムを使用してURL構造を管理します。 2。ブレードテンプレートエンジンを使用して、ビュー開発を簡素化します。 3.キューを介して時間のかかるタスクを処理します。 4. Eloquentormを使用して、データベース操作を簡素化します。 5.ベストプラクティスに従って、コードの品質と保守性を向上させます。

Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率 Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率 Apr 19, 2025 am 12:05 AM

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

session_start()が複数回呼び出されるとどうなりますか? session_start()が複数回呼び出されるとどうなりますか? Apr 25, 2025 am 12:06 AM

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

See all articles