Php7-ini-configuration

提供:Dev Guides
移動先:案内検索

PHP 7-PHP.INIファイルの構成

PHP構成ファイルphp.iniは、PHPの機能に影響を与える最後の方法です。 php.iniファイルは、PHPが初期化されるたびに読み込まれます。 言い換えると、モジュールバージョンに対して、またはCGIバージョンに対して各スクリプトを実行するたびに、httpdが再起動されます。 変更内容が表示されない場合は、httpdを停止して再起動してください。 それでも表示されない場合は、phpinfo()を使用してphp.iniへのパスを確認します。

構成ファイルには十分なコメントが付けられており、徹底しています。 キーでは大文字と小文字が区別されますが、キーワード値では区別されません。空白、セミコロンで始まる行は無視されます。 ブール値は、1/0、Yes/No、On/Off、またはTrue/Falseで表すことができます。 php.ini-distのデフォルト値は、後で調整できる適切なPHPインストールになります。

ここでは、PHPパーサーに必要なphp.iniの重要な設定について説明します。

short_open_tag =オフ

短いオープンタグは次のようになります。<? ?>. XML関数を使用する場合は、このオプションを Off に設定する必要があります。

safe_mode =オフ

これがONに設定されている場合、おそらく—​enable-safe-modeフラグを使用してPHPをコンパイルしています。 セーフモードは、CGIの使用に最も関連しています。 この章で前述した「CGIコンパイル時オプション」セクションの説明を参照してください。

safe_mode_exec_dir = [DIR]

このオプションは、セーフモードがオンの場合にのみ関連します。 Unixビルドプロセス中に—​with-exec-dirフラグで設定することもできます。 セーフモードのPHPは、このディレクトリから外部バイナリのみを実行します。 デフォルトは/usr/local/binです。 これは、通常のPHP/HTML Webページの提供とは関係ありません。

safe_mode_allowed_env_vars = [PHP_]

このオプションは、ユーザーがセーフモードで変更できる環境変数を設定します。 デフォルトは、「PHP_」が先頭に付けられた変数のみです。 このディレクティブが空の場合、ほとんどの変数は変更可能です。

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

このオプションは、safe_mode_allowed_env_varsが寛容に設定されている場合でも、ユーザーがセーフモードで変更できない環境変数を設定します。

disable_functions = [function1、function2 …​]

PHP4構成への歓迎された追加とPHP5で永続化されたものは、セキュリティ上の理由で選択された機能を無効にする機能です。 以前は、PHPの作成元であるCコードを手作業で編集する必要がありました。 ファイルシステム、システム、およびネットワーク機能は、おそらく最初に行くべきです。なぜなら、HTTPを介してファイルを書き込み、システムを変更する機能を許可することは決して安全な考えではないからです。

max_execution_time = 30

関数set_time_limit()はセーフモードでは機能しません。 したがって、これがセーフモードでスクリプトをタイムアウトさせる主な方法です。 Windowsでは、時間ではなく、消費される最大メモリに基づいて中止する必要があります。 Apacheのタイムアウト設定を使用してタイムアウトすることもできますが、これはサイト上の非PHPファイルにも適用されます。

error_reporting = E_ALL

デフォルト値はE_ALL&〜E_NOTICEで、通知を除くすべてのエラー。 開発サーバーは少なくともデフォルトに設定する必要があります。運用サーバーのみがより低い値を考慮する必要があります。

error_prepend_string = [""]

ブックエンドのerror_append_stringを使用すると、この設定により、エラーメッセージを他のテキストとは異なる色にすることができます。

warn_plus_overloading =オフ

フォーム値のように、+演算子が文字列で使用されている場合、この設定は警告を発行します。

variables_order = EGPCS

この構成設定は、gpc_orderに優先します。 現在、両方ともregister_globalsとともに廃止されています。 環境、GET、POST、COOKIE、およびSERVER(別名ビルトイン)という異なる変数の順序を設定します。 この順序は自由に変更できます。 変数は左から右の順に連続して上書きされ、右端の変数が毎回勝ちます。 つまり、デフォルト設定のままにして、環境変数、POST変数、COOKIE変数に同じ名前を使用した場合、COOKIE変数はプロセスの最後にその名前を所有します。 実際には、これはあまり起こりません。

register_globals =オフ

この設定により、EGPCS変数をグローバルとして登録するかどうかを決定できます。 これは現在では非推奨であり、PHP4.2以降、このフラグはデフォルトで Off に設定されています。 代わりにスーパーグローバル配列を使用してください。 本書の主要なコードリストはすべて、スーパーグローバル配列を使用しています。

gpc_order = GPC

この設定は廃止されました。

magic_quotes_gpc =オン

この設定は、受信GET/POST/COOKIEデータの引用符をエスケープします。 自分自身または他のフォームに送信し、フォームの値を表示する可能性のある多くのフォームを使用する場合、このディレクティブをOnに設定するか、文字列タイプのデータでaddslashes()を使用する準備をする必要があります。

magic_quotes_runtime =オフ

この設定は、着信データベースとテキスト文字列の引用符をエスケープします。 SQLでは、文字列を格納するときに単一引用符とアポストロフィにスラッシュが追加され、それらを返すときに削除されないことに注意してください。 この設定がオフの場合、SQLデータベースから任意のタイプの文字列データを出力するときにstripslashes()を使用する必要があります。 magic_quotes_sybaseがOnに設定されている場合、これはOffでなければなりません。

magic_quotes_sybase =オフ

この設定は、バックスラッシュではなく、Sybaseスタイルの単一引用符を使用して、着信データベースとテキスト文字列の単一引用符をエスケープします。 magic_quotes_runtimeがOnに設定されている場合、これはOffでなければなりません。

auto-prepend-file = [path/to/file]

ここでパスを指定する場合、PHPはすべてのPHPファイルの先頭に自動的にinclude()する必要があります。 含めるパス制限が適用されます。

auto-append-file = [path/to/file]

ここでパスを指定した場合、exit()関数を使用してエスケープしない限り、PHPはすべてのPHPファイルの最後に自動的にinclude()する必要があります。 含めるパス制限が適用されます。

include_path = [DIR]

この値を設定すると、これらのディレクトリのファイルのみを含めるか、要求することができます。 通常、インクルードディレクトリはドキュメントルートの下にあります。 セーフモードで実行している場合、これは必須です。 これを.inに設定して、スクリプトが入っているのと同じディレクトリのファイルを含めます。 複数のディレクトリはコロンで区切られます:。:/usr/local/apache/htdocs:/usr/local/lib。

doc_root = [DIR]

Apacheを使用している場合は、httpd.confでこのサーバーまたは仮想ホストのドキュメントルートを既に設定しています。 セーフモードを使用している場合、またはサイトの一部(たとえば、Webルートの1つのサブディレクトリのみ)でのみPHPを有効にする場合は、この値を設定します。

file_uploads = [on/off]

PHPスクリプトを使用してファイルをアップロードする場合は、このフラグをオンにします。

upload_tmp_dir = [DIR]

HTTPアップロードの意味を理解しない限り、この行のコメントを外さないでください!

session.save-handler =ファイル

まれな状況を除き、この設定を変更する必要はありません。 触らないでください。

ignore_user_abort = [オン/オフ]

この設定は、サイトの訪問者がブラウザの[停止]ボタンをクリックした場合の動作を制御します。 デフォルトはオンです。つまり、スクリプトは完了またはタイムアウトまで実行され続けます。 設定をオフに変更すると、スクリプトは中止されます。 この設定はモジュールモードでのみ機能し、CGIでは機能しません。

mysql.default_host =ホスト名

他のホストが指定されていない場合にデータベースサーバーに接続するときに使用するデフォルトのサーバーホスト。

mysql.default_user =ユーザー名

他の名前が指定されていない場合にデータベースサーバーに接続するときに使用するデフォルトのユーザー名。

mysql.default_password = password

他のパスワードが指定されていない場合にデータベースサーバーに接続するときに使用するデフォルトのパスワード。