php.ini コア構成オプションの説明
このリストには、コアの php.ini 構成オプションのみが含まれています。拡張機能の構成オプションについては、各拡張機能のドキュメント ページで説明されています。セッションのオプションはセッション ページにあります。
HTTPD オプション
表 G-3.HTTPD オプション
名前 デフォルト値 変更可能範囲 更新レコード
async_send "0" PHP_INI_ALL
言語オプション
表 G-4. 言語およびその他の構成オプション
名前 デフォルト値 変更可能範囲 更新レコード
short_open_tag "1" PHP asp_tags "0" PHP_INI_PERDIR は、PHP precision "14" PHP_INI_ALL
y2k_compliance "1" PHP_INI_ALL
allow_call_time_pass_reference "1" PHP expose_php "1" は php.ini でのみ設定可能です。
zend.ze1_compatibility_mode "0" PHP_INI_ALL PHP 5.0.0 以降で利用可能。
以下は、設定オプションの簡単な説明です。
short_open_tag boolean
PHP コード開始タグの短い形式 ( ?>) の使用を許可するかどうかを決定します。 XML で PHP を使用している場合は、このオプションを無効にして、 の組み込み使用を容易にすることができます。それ以外の場合は、PHP を通じて出力することもできます (例: )。無効にした場合は、完全な形式の PHP コード開始フラグ () を使用する必要があります。
注: このディレクティブは、 と同等の省略形 = にも影響します。この省略形を使用するには、short_open_tag をオンにする必要があります。
asp_tags boolean
通常の タグに加えて、ASP スタイルのタグ の使用を許可します。これには、出力変数値の省略形 も含まれます。詳細については、「HTML からの切り離し」セクションを参照してください。
注: ASP スタイル フラグのサポートは、バージョン 3.0.4 で新たに追加されました。
精度整数
浮動小数点数で表示される有効桁数。
y2k_compliance boolean
2000 年準拠を強制します (互換性のないブラウザでは問題が発生します)。
allow_call_time_pass_reference boolean
関数を呼び出すときにパラメータを強制的に参照渡しできるようにするかどうか。このメソッドは非推奨であり、PHP/Zend の将来のバージョンではサポートされなくなる可能性があります。どのパラメータを参照によって渡す必要があるかを関数定義で指定することをお勧めします。将来のバージョンでもスクリプトが確実に実行されるように、このオプションをオフにしてスクリプトが適切に実行されることを確認することをお勧めします (この機能を使用するたびに警告が表示され、パラメーターは参照ではなく値で渡されます)。 。
関数を呼び出すときにパラメーターを参照によって渡すことは、コードのクリーンさに影響するため、お勧めできません。関数のパラメーターが参照渡しとして宣言されていない場合、関数は文書化されていないメソッドを通じてパラメーターを変更できます。副作用を回避するには、関数が宣言されるときにのみ、パラメーターを参照によって渡す必要があることを指定することをお勧めします。
引用された説明を参照してください。
expose_php boolean
サーバーにインストールされている PHP を公開するかどうかを決定します (たとえば、Web サーバーのヘッダーに署名を追加することによって)。セキュリティ上の脅威はなく、PHP がサーバーにインストールされているかどうかをクライアントに知らせるだけです。
zend.ze1_compatibility_mode boolean
Zend Engine 1 (PHP 4) 互換モードを有効にします。これは、オブジェクトのコピー、構築、比較に影響します。
「PHP 4 から PHP 5 への移植」を参照してください。
リソースの制限
表 G-5. リソースの制限
名前 デフォルト値 変更可能範囲 更新レコード
memory_limit "8M" PHP_INI_ALL
以下は、構成オプションの簡単な説明です。
memory_limit integer
このコマンドは、スクリプトが適用できるメモリの最大バイト数を設定します。これは、不適切に書かれたスクリプトがサーバー上の使用可能なメモリを使い果たすことを防ぐのに役立ちます。このディレクティブを使用するには、コンパイル時に有効にする必要があります。したがって、configure 行には --enable-memory-limit を含める必要があります。メモリ制限が必要ない場合は、-1 に設定する必要があります。
4.3.2 以降、memory_limit が有効になっている場合、PHP 関数のmemory_get_usage() が使用できるようになりました。
整数型を使用する場合、その値はバイト単位で測定されます。簡略化された表記も使用できます。手順については、この FAQ を参照してください。
「max_execution_time」も参照してください。
データ処理
表 G-6. データ処理構成オプション
名前 デフォルト値 変更可能範囲 更新レコード
track_vars "On" PHP_INI_??
arg_separator.output "&" PHP_INI_ALL PHP 4.0.5 から利用可能です。
arg_separator.input "&" PHP_INI_PERDIR PHP 4.0.5 以降で利用可能です。
variables_order "EGPCS" PHP_INI_ALL
auto_globals_jit "1" PHP_INI_PERDIR PHP 5.0.0 以降で利用可能です。
register_globals "0" PHP_INI_PERDIR は、PHP register_argc_argv "1" PHP_INI_PERDIR は、PHP register_long_arrays "1" PHP_INI_PERDIR PHP 5.0.0 以降で利用可能です。
post_max_size "8M" PHP_INI_PERDIR は、PHP gpc_order "GPC" PHP_INI_ALL
auto_prepend_file NULL PHP auto_append_file NULL PHP_INI_PERDIR は、PHP default_mimetype "text/html" PHP_INI_ALL
default_charset "" PHP_INI_ALL
always_populate_raw_post_data "0" PHP allow_webdav_methods "0" PHP_INI_PERDIR
以下は、構成オプションの簡単な説明です。
track_vars boolean
有効にすると、環境変数、GET、POST、Cookie、サーバー変数がそれぞれグローバル連想配列で見つかります: $_ENV、$_GET、$_POST、$_COOKIE、$_SERVER。
PHP 4.0.3 では、track_vars は常にオンになっていることに注意してください。
arg_separator.output string
PHP によって生成された URL 内のパラメータを区切るための区切り文字。
arg_separator.input string
URL を変数に解析するために PHP によって使用される区切り文字のリスト。
注: このコマンドの各文字は区切り文字として扱われます。
variables_order string
EGPCS (環境、GET、POST、Cookie、サーバー) 変数が解析される順序を設定します。デフォルト設定は「EGPCS」です。たとえば、これを「GP」に設定すると、PHP は環境変数、Cookie、サーバー変数を完全に無視し、POST メソッド内の同じ名前の変数を GET メソッドの変数で上書きします。
「register_globals」を参照してください。
auto_globals_jit boolean
有効にすると、SERVER 変数と ENV 変数は、スクリプトの実行が開始されるまで待機するのではなく、最初の使用直後 (ジャスト イン タイム) に作成されます。これらの変数がスクリプトで使用されていない場合、この変数を有効にするとサーバーのパフォーマンスが向上します。
このオプションを有効にするには、PHP 構成オプション register_globals、 register_long_arrays、および register_argc_argv を無効にする必要があります。
register_globals boolean
EGPCS (環境、GET、POST、Cookie、サーバー) 変数をグローバル変数として登録するかどうかを決定します。
PHP 4.2.0 以降、このオプションはデフォルトでオフになっています。
関連情報については、「セキュリティ」の章の「register_globals の使用」を参照してください。
register_globals は実行時 (ini_set()) で設定できないことに注意してください。ただし、上で述べたように、ホストが許可している場合は .htaccess で使用できます。 .htaccess プロジェクトの例: php_flag register_globals off。
注: register_globals は、variables_order オプションの影響を受けます。
register_argc_argv boolean
PHP が argv および argc 変数を定義するかどうかを決定します (GET 情報が含まれる場合があります)。
コマンドラインメソッドを参照してください。さらに、このオプションは PHP 4.0.0 以降で利用可能で、それ以前は常に「オン」でした。
register_long_arrays boolean
PHP が $HTTP_*_VARS などの廃止された事前定義変数を登録するかどうかを設定します。 On (デフォルト) の場合、$HTTP_GET_VARS などの PHP 変数が登録されます。使用しない場合は、パフォーマンス上の理由から、このオプションをオフにして、代わりに $_GET などのスーパーグローバル配列を使用することをお勧めします。
このディレクティブは PHP 5.0.0 以降で利用可能です。
post_max_size integer
POST データに許可される最大サイズを設定します。この設定はファイルのアップロードにも影響します。大きなファイルをアップロードするには、この値が Upload_max_filesize より大きい必要があります。
設定スクリプトでメモリ制限が有効になっている場合、memory_limit もファイルのアップロードに影響します。一般に、memory_limit は post_max_size より大きくなければなりません。
整数型を使用する場合、その値はバイト単位で測定されます。簡略化された表記も使用できます。手順については、この FAQ を参照してください。
POST データのサイズが post_max_size より大きい場合、$_POST および $_FILES スーパーグローバルは空になります。これはさまざまな方法で実証できます。たとえば、$_GET 変数をスクリプトに渡してデータを処理する (つまり、

データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

セッション関連のXSS攻撃からアプリケーションを保護するには、次の測定が必要です。1。セッションCookieを保護するためにHTTPonlyとセキュアフラグを設定します。 2。すべてのユーザー入力のエクスポートコード。 3.コンテンツセキュリティポリシー(CSP)を実装して、スクリプトソースを制限します。これらのポリシーを通じて、セッション関連のXSS攻撃を効果的に保護し、ユーザーデータを確保できます。

PHPセッションのパフォーマンスを最適化する方法は次のとおりです。1。遅延セッション開始、2。データベースを使用してセッションを保存します。これらの戦略は、高い並行性環境でのアプリケーションの効率を大幅に改善できます。

thesession.gc_maxlifettinginttinginphpdethinesthelifsessessiondata、setinseconds.1)it'sconfiguredinphp.iniorviaini_set()。 2)AbalanceSneededToAvoidPerformanceIssues andunexpectedLogouts.3)php'sgarbagecollectionisisprobabilistic、影響を受けたBygc_probabi

PHPでは、session_name()関数を使用してセッション名を構成できます。特定の手順は次のとおりです。1。session_name()関数を使用して、session_name( "my_session")などのセッション名を設定します。 2。セッション名を設定した後、session_start()を呼び出してセッションを開始します。セッション名の構成は、複数のアプリケーション間のセッションデータの競合を回避し、セキュリティを強化することができますが、セッション名の一意性、セキュリティ、長さ、設定タイミングに注意してください。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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