ホームページ > バックエンド開発 > PHPチュートリアル > PHP オペレーティング環境を構築し、IIS で Web サーバーのトラブルシューティングを行う方法

PHP オペレーティング環境を構築し、IIS で Web サーバーのトラブルシューティングを行う方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-20 12:38:48
オリジナル
1005 人が閲覧しました

1. php ページに完全にアクセスできません

1. php の問題なのか、iis などのサーバーの問題なのかを確認します

静的ファイルのディレクトリにある場合は、その静的ファイルがブラウザ経由でアクセスできるかどうかを判断します。アクセスできる場合は、php の問題です。

IIS の問題の場合、判断に役立つツールが 2 つあります。

Linux Telnet は、エコーがデフォルトでオンになっているため、実際には使いやすいです。 Windows の場合、set localecho を使用する必要があります。そうしないと、入力したテキストが表示されません

1.1 ファイアウォールによりポート 80 が禁止されています

Telnet を入力した後、コマンドを入力してドメイン名を開きます80

など:www.baidu.com を開く 80

接続できる場合は、黒い画面が表示され、入力を待ちます

は、ホストを開くことができません。ポート 80 で失敗した場合は、このポートに到達できないことを意味します。考えられる理由としては、DNS サーバーにこのドメイン名がない (nslookup を使用して確認する)、リモート ホストが接続を開いていない、または接続を禁止していない (ping およびその他のコマンドを使用して確認する)、およびここで説明したように、ファイアウォールがポートを開いていないことが挙げられます。 80.

1.2 サーバー上のターゲット ディレクトリの権限が正しく設定されていません。

この場合、通常、ログインを要求するダイアログ ボックスが表示され、ページが表示されない

1.3 その他の質問

アクセスしたいホストが www.baidu.com であると仮定し、次のコマンドを使用して確認します。 www.baidu.com 80

サーバーは素早い入力を期待していないため、この時点では速度が速いはずです。 (最初にメモ帳に入力してから貼り付けることができます。) 直接 Telnet には localecho がない場合があり、

コマンドの例をブラインド タイプで入力する必要がある場合があります。括弧内の文字は入力しないでください。 >

GET / HTTP /1.1 (Enter)

Host: www.baidu.com (Enter)

(Enter)

改行が 2 つあることに注意してくださいホスト行の後に .

これは、Telnet を使用して、ターゲット ホストへのブラウザのリクエストをシミュレートします。図に示すように:

応答ヘッダーの内容には、リクエストが成功したことを示す 200 など、非常に豊富な情報が含まれていることに注意してください。 500 は内部サーバー エラーなどを示します。具体的な情報については、関連ドキュメントを参照してください。

1.4 ちょっとした背景知識

上記の手順には、ブラウザーがリクエストを開始するプロセスが含まれています。

1. ブラウザーのアドレス。フィールドにドメイン名を入力し、Enter キーを押します。

2. ブラウザは DNS サーバーにドメイン名を IP アドレスに変換するよう要求します。この手順は Web サーバー (IIS または APACHE) とは関係がないことに注意してください。

3. ブラウザは Web サーバーからの接続を要求します (Telnet ポート 80 に相当)。もちろんポート番号を指定すれば指定したポートに接続します。ただし、デフォルトのポートは 80 (rfc で指定された http ポート) で、https ポートは 443 です。このプロセスは、鍵交換、暗号化および復号化プロセスなど、より複雑であるため、この方法でトラブルシューティングを行う方法はありません。この段階では推奨されています。まず http を実行しましょう。

4. 接続が確立され、サーバーはブラウザーがリクエスト ヘッダーを送信するのを待ち、ブラウザーがリクエスト ヘッダーを送信します。リクエストヘッダーは空行で終わります。

5. リクエストヘッダーの形式は次のとおりです。

メソッド [スペース] リクエストパス (/a.html や / などのドメイン名は含まれません) [スペース] プロトコル

ホスト: 要求されたドメイン名

例:

GET /index.php HTTP/1.1 (Enter)

ホスト: www.baidu.com (Enter )

(Enter)

リクエストヘッダーには、送信された情報など、他の情報が含まれる場合がありますが、ここではこれで十分です。

一般的に使用されるメソッドは get と post です。通常、get は Web ページをリクエストするために使用され、post は情報を送信するために使用されます。

6. サーバーはヘッダーや Web ページ本文を含むデータを処理して返します。

HTTP/1.1 200 OK

この行の先頭には、プロトコル、エラー コード (または成功コード)、およびエラー コードの説明が含まれます。

ブラウザにとっては役立つ情報がたくさんあるかもしれませんが、私たちにとってはコードとエラーコードの説明を知る必要があります。

情報本文には、情報の詳細な説明など、他にも多くの内容が含まれる場合があります。 PHP のエラー報告がオンになっている場合、関連する問題もここで報告されます。

2. php 拡張機能が読み込まれていることを確認します。

2.1isapi 拡張機能

isapi 拡張機能の場合、ホーム ディレクトリの設定で:

php を検索:

そうでない場合は追加してください。

2.2 fastcgi メソッドの場合

もう 1 つの読み込みメソッドは fastcgi です。このメソッドは、fastcgi エンジンの問題か php の問題かを判断する必要があります。判断方法は、fastcgi をスキップして php をロードすることです。 CGI を直接使用します。

2. PHP ページの一部にアクセスできる状況

これに該当するかどうかを判断する簡単な方法は、新しい PHP ファイルを作成し、次の内容を入力することです。 >

< ?php phpinfo(); ?>

大文字とスペースは正しくなければなりません。通常の状況では、次のような phpinfo ページが出力されます。

このページは非常に便利です。

1. PHP ファイルのロードが正しいかどうかを確認します

ロードされた設定ファイルにロードされた php.ini ファイルが、ロードしたい php.ini ファイルであるかどうかを確認します。ファイルを誤って変更する可能性があります。

2. mysql とその他の拡張機能がロードされているかどうかを確認します

多くの場合、ページに白い画面が表示されることがありますが、ページが半分ロードされているのは明らかです。例えば、タイトル部分が表示されてしまいますが、スーパーサイトやディスカスなどのサイトでこの現象が起こる場合があります。

ページ内でmysqlを検索すると、

[ 1] [2] 次のページ

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート