ホームページ  >  記事  >  バックエンド開発  >  PHP で設定ファイル php.ini を解析する

PHP で設定ファイル php.ini を解析する

WBOY
WBOYオリジナル
2016-08-08 09:33:40953ブラウズ

PHP 愛好家なら誰でも、PHP.INI ファイルに精通していると思います。PHP の以前のバージョンである PHP3.0 では、このファイルは PHP3.INI という名前でした。通常、ファイルはオペレーティング システムの Windows ディレクトリにあります。 PHP.INI ファイルには、Windows システムと同様に、セミコロンが多数含まれているのを誰もが見たことがあります。つまり、これらのセミコロンは、設定ファイルをわかりやすくするために使用されます。開発者は、セミコロンの後の各セミコロンに直面して、構成関数が簡単に説明されており、これらのコメント行はシステム処理中に無視されます。もちろん、もう 1 つの利点は、PHP システム構成が変更されたときに、特定の行のコメントを追加または削除するだけで済み、シンプルで便利です
利便性。

auto_PRepend_file 文字列は、すべての php ファイルを読み取る前に自動的に解析して実行するファイルを指定できます。これは、PHP、asp、HTML などの任意のファイル (画像ファイルは除く) にすることができ、特殊な状況で非常に役立ちます。たとえば、各 PHP ページに広告を追加したい場合、また Web サイトを開発していて、PHP ページを読む前にすべての訪問者に認証を行わせたい場合は、検証コードを別のファイルに作成し、文字列を設定するだけです。ここのファイル名に。注意深く読んでいる人は次のような質問をする必要があります: 特定のファイルにのみこれらの機能が必要な場合はどうすればよいですか? 例:

myprefix.php ファイル
if (strstr(strtoupper(PHP_SELF),"/PHPTEST/"))
echo "私の広告!

;

このように、auto_prepend_file="myprefix.php" と設定している限り、phptest ディレクトリ内のすべての PHP ファイルに広告ヘッダーが含まれるようになります。このファイルは include_path が指すパスに配置する必要があることにも注意してください。そうしないと、後述するエラーが発生する可能性があります。

auto_append_file 文字列には上記と同様の機能がありますが、PHP ファイルの末尾に自動的に追加され、PHP プログラムが exit() で終了する場合には機能しません。この機能を使用すると、会社の住所に簡単に脚注を追加できます。

include_path 文字列 このパラメータの機能は、include()、require()、およびその他の関数に、ここで定義されたパス内のファイルを検索させることです。これは、DOS 時代に使用されていた SET PATH コマンドに似ています。このパラメータはパスのリストを提供できますが、パスは UNIX ではコロン、NT ではセミコロンで区切られ、スラッシュの方向も異なります。例:
UNIX の例: include_path=.:/home/lib
NT の例: include_path=".:c:homeib" ここで、「.」は現在のディレクトリを表します。
gpc_order 文字列

GPC は 3 つの変数 GET/POST/COOKIE の最初の文字であり、その順序は 3 つの変数を処理する際のシステムの優先順位を反映しており、左から右に向かって順番に優先順位が高くなります。デフォルト設定は GPC であるため、同じ名前を持つ 2 つまたは 3 つの変数がサーバーに渡されると、システムはそれらを優先順位に従って並べ替え、優先順位の高い変数のみを読み取ります。もう 1 つの例は、アクセス方法が同じ場合に Cookie を無視し、GET の代わりに POST を使用するように「GP」に設定することです。もちろん、プログラミングのプロセス中に、同じ名前の変数を同時に異なる方法で渡すことは避けるべきです。そうしないと、プログラムの可読性が低下し、異なる構成のシステムでは異なる出力結果が発生する可能性があります。

magic_quotes_gpc boolean このパラメータは、GET/POST/COOKIE の 3 つの変数に含まれる特殊文字、一重引用符、二重引用符、スラッシュ、エスケープ文字のバックスラッシュ (C 言語で一般的に使用される "") を追加するかどうかを決定できます。 PHP データベースなどのシステムでは、一重引用符などの文字は通常、実際の文字と区別するために特別な意味を持っているため、ユーザー側から取得する変数に一重引用符が含まれている場合に、magic_quotes_gpc=on を設定できます。エスケープ文字が前に追加され、必要に応じて関数tripslashes(string str);を使用できます(この関数は文字列内のバックスラッシュエスケープ文字「」を削除できます。2つの連続したバックスラッシュがある場合は、1つを削除します)バックスラッシュが 1 つだけある場合は、それを削除します。) エスケープ文字 "" を削除するには、次のように比較します。
<フォーム> <入力タイプ="送信"> エコー、


magic_quotes_gpc=on の場合はテキスト ボックスに一重引用符、off の場合は二重引用符をそれぞれ入力し、送信して違いを確認してみましょう。

SMTP 文字列はメール送信サーバーのドメイン名または IP アドレスを指定するため、Microsoft ASP と比較して、PHP のこの機能ははるかに簡単で便利です。メール サーバーをお持ちですか? それは非常に簡単です。ローカル ISP のメール サーバーを入力するだけです。実際、メールの送受信サーバーは、現実の郵便局と同じです。メールはどの郵便局でも送信できますが、郵便物の受信は固定の郵便局で行われます。

MySQL.default_host 文字列
mysql.default_user 文字列
mysql.default_passワード文字列

ODBC を使用したことのある読者は、ODBC を設定するときに、データベースの場所とデフォルトのログイン ユーザー名とパスワードを常に設定する必要があることを知っています。これらのパラメータは同じ意味を持ちますが、MYSQL で使用されます。セキュリティのために、MYSQL でのユーザーの権限にいくつかの制限を設ける必要もあります。怠惰に「root」を使用しないでください。これらのパラメータが便宜上設定されている場合は、関数 mysql_connect() を直接使用してデータベースに接続できます。ここではパラメータは必要ありません。

これはとても便利ですが、非常に危険でもあると思われるかもしれません。心配しないでください。これらのパラメータは PHP のセーフ モードでは無効です。セーフ モードの設定を見てみましょう。

セーフ モード ブール値 これは WINDOWS 98 のセーフ モードではありません。 PHP システムがセーフ モードの場合、この時点で、デフォルトのデータベース ホスト、ユーザー名、パスワード、および MYSQL や INFOMIX などの一部のデータベースのその他の設定をある程度制御できます。は無効であり、不正なユーザーは簡単にデータベースに接続できません。また、セーフ モードでは、safe_mode_allowed_env_vars 文字列設定は、プログラムによってどのような種類のシステム環境変数を変更できるかを示します。 これが、safe_mode_allowed_env_vars=PHP_ に設定されている場合は、PHP_ で始まるシステム環境変数のみを変更できることを意味します。この時点でプログラム内で putenv("windir=UUU"); を使用して環境変数を変更しようとすると、システムによりセーフ モード保護エラーが表示されます。さらに、セーフ モードには、system() などのシステム コマンドが指定されたディレクトリでのみ実行できるなど、特定の制限があります。これにより、システム ファイルをある程度保護できます。

log_errors boolean このパラメータは、PHP プログラムでエラーが発生したときに、エラー情報を LOG ドキュメントに記録するかどうかを指定します。 NT システムでは、error_log =syslog を設定すると、PHP で発生したエラー情報がイベント ビューアのアプリケーション ログで確認できるため、大規模システムのテストに役立ちます。
error_prepend_string = "" error_append_string = ""
これら 2 つの設定パラメータはさらに興味深いもので、上記のように設定すると、プログラムがエラーを起こしたかどうかが一目でわかります。なぜなら、彼の機能はエラー メッセージを目立つ赤色に設定することだからです。



以上、PHP の設定ファイル php.ini の解析を内容も含めて紹介しましたので、PHP チュートリアルに興味のある方の参考になれば幸いです。

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