Apacheとphpの関係

Nov 09, 2019 am 09:07 AM
apache php

Apacheとphpの関係

Apache と php の関係

Apache サーバーと php 言語を例にアクセスを説明します。動的ウェブサイトのプロセス https://www.cnblogs.com/sunscheung/p/4643281.html

現在、ウェブサイトのページは主に静的ページと動的ページに分けられます。大規模な Web サイト 一般的には動的 Web サイト構築技術が使用されており、Web サイトによっては静的 Web ページと動的 Web ページが混在しているものもあります。

この記事では、Apache サーバーと PHP 言語を例として、動的 Web サイトへのアクセス プロセスを詳しく説明します。この記事のトピックに直接ジャンプしましょう。

推奨: "PHP チュートリアル "

(1) クライアントはサーバー側の HTML ファイルにアクセスします

S1:これにより、マシンに設定されている DNS サーバー アドレスを見つけ、Web サイト URL 内の Web ホスト ドメイン名を、Web サーバーが配置されている Linux オペレーティング システムの対応する IP アドレスに解決します (Apache は通常、Linux オペレーティング システムと組み合わせて使用​​されます)。システム)。

S2: HTTP プロトコル (ハイパーテキスト転送プロトコル) を介して上記の IP アドレスのサーバー システムに接続し、デフォルトのポート 80 を介してリクエストします (デフォルトのポートは 80 ですが、他のポートもあり、通常はURL を入力するときにポートを入力する必要はありません)Apache サーバー上の対応するディレクトリにある HTML ファイル(index.htm など)。

S3: Apache サーバーはユーザーのアクセス要求を受信した後、管理するドキュメント ディレクトリ内で対応する HTML ファイル (index.htm など) を見つけて開き、クライアント ブラウザ (つまりユーザー) に応答します。 。

S4: ブラウザーは Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信して​​ダウンロードします。次に、ブラウザーはコードを解釈して、最終的に Web ページをレンダリングします (ブラウザーごとにコードが異なるため)。コードを解釈するためのルールなど)が異なるため、同じ Web ページに対して異なるブラウザによってレンダリングされる最終的なページ効果も異なります)。

(2) クライアントはサーバー側の php ファイルにアクセスします。

S1: このステップは、上記の HTML 静的 Web ページおよび対応する Web にアクセスするのと同じです。ページは DNS サーバーを通じて解析されます。サーバーの IP アドレス。

S2: 上記の html 静的ページへのアクセスと似ていますが、最後のリクエストは、Apache サーバー上の対応するディレクトリにある php ファイル (index.php など) です。

S3: Apache サーバー自体は PHP 動的言語スクリプト ファイルを処理できないため、PHP アプリケーション サーバーを探して処理を委託します (サーバーは事前に PHP アプリケーション サーバーをインストールする必要があります)。ユーザーが要求した PHP ファイル (index.php など) を PHP アプリケーション サーバーに処理します。

S4: PHP アプリケーション サーバーは php ファイル (index.php など) を受信し、php ファイルを開いて解釈し、最後にそれを html 静的コードに変換して、その html 静的コードを Apache に返します。サーバーに送信され、Apache サーバーは HTML 静的コードを受信し、クライアント ブラウザ (つまりユーザー) に出力されます。

S5: 上記の HTML 静的ページへのアクセスと同じです。ブラウザーが Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信して​​ダウンロードし、次にブラウザーがコードを解釈して最終的にレンダリングします。ウェブページ。

(3) クライアントはサーバー側の MySQL データベースにアクセスします。

ユーザーが MySQL データベースのデータを操作する必要がある場合、データベース管理ソフトウェアには次の操作が必要です。サーバー側の MySQL サーバーにインストールされ、Web サイトのデータを保存および管理するために使用されます。 Apache サーバーは MySQL サーバーに接続して操作することができないため、PHP アプリケーションサーバーもインストールする必要があります。このように、Apache サーバーは PHP アプリケーションサーバーにデータベースへの接続と操作を委託します。データベース内のデータを管理する場合、通常は構造体、つまりクエリ ステートメント、つまり SQL ステートメントを使用する必要があります。

S1: この手順は上記の php ファイルにアクセスするのと同じで、対応する Web サーバーの IP アドレスが DNS サーバーを通じて解析されます。

S2: 上記の php ファイルへのアクセスと同様に、Apache サーバー上の対応するディレクトリにある php ファイルへのアクセスをリクエストします。

S3: 上記の PHP ファイルへのアクセスと同様に、PHP アプリケーション サーバーは Apache サーバーからの委任を受け取り、対応する PHP ファイルを受け取ります。

S4: PHP アプリケーション サーバーは php ファイルを開き、php ファイル内のデータベース接続コードを介してこのマシンまたはネットワーク上の他のマシン上の MySQL データベースに接続し、php プログラムで標準 SQL クエリを実行します。ステートメントを使用してデータベース内のデータを取得し、PHP アプリケーション サーバーを通じてデータから HTML 静的コードを生成します。

S5: ブラウザーは Web サーバーから応答を受信した後、サーバー側の HTML 静的コードを受信して​​ダウンロードします。次に、ブラウザーはコードを解釈して、最終的に Web ページをレンダリングします。

なお、記事中の(2)と(3)の違いは、一方がデータベースにアクセスする場合と、もう一方がデータベースにアクセスしない場合であり、処理に若干の違いがあります。

以上がApacheとphpの関係の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

H5プロジェクトの実行方法 H5プロジェクトの実行方法 Apr 06, 2025 pm 12:21 PM

H5プロジェクトを実行するには、次の手順が必要です。Webサーバー、node.js、開発ツールなどの必要なツールのインストール。開発環境の構築、プロジェクトフォルダーの作成、プロジェクトの初期化、コードの書き込み。開発サーバーを起動し、コマンドラインを使用してコマンドを実行します。ブラウザでプロジェクトをプレビューし、開発サーバーURLを入力します。プロジェクトの公開、コードの最適化、プロジェクトの展開、Webサーバーの構成のセットアップ。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) Apr 08, 2025 am 12:03 AM

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 Apr 06, 2025 am 12:07 AM

PHPの...(SPLAT)演算子は、機能パラメーターと配列を開梱するために使用され、コードのシンプルさと効率を向上させます。 1)関数パラメーター解放:アレイ要素をパラメーターとして関数に渡します。 2)配列の開梱:アレイを別の配列または関数パラメーターに解除します。

PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 Apr 07, 2025 am 12:05 AM

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

作曲家は何に使用されていますか? 作曲家は何に使用されていますか? Apr 06, 2025 am 12:02 AM

作曲家は、PHPの依存関係管理ツールです。 Composerを使用するコアステップは次のとおりです。1)「Stripe/Stripe-PHP」などのComposer.jsonの依存関係を宣言:「^7.0」; 2)ComposerInStallを実行して、依存関係をダウンロードおよび構成します。 3)Composer.LockおよびAutoload.phpを介してバージョンとオートロードを管理します。 Composerは依存関係管理を簡素化し、プロジェクトの効率と保守性を向上させます。

PHPの未来:適応と革新 PHPの未来:適応と革新 Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

See all articles