設定ファイル(PHP 3.0では php3.ini、 PHP 4.0 では php.ini) は、PHP の起動時に読み込まれます。 PHP のサーバー版では、このファイルは、Web サーバーの 起動時にのみ一度だけ読み込まれます。 CGI 版では、起動する度にこのファイルが読み込まれます。
PHP を Apache モジュールとして使用する場合、Apache 用 設定ファイルや .htaccess ファイルに命令を記述することにより PHPの設定を行うことが可能です。
PHP 3.0 においては、php3.ini の各ディレクティブに 対応した Apache 用ディレクティブが存在し、 PHP 用のディレクティブの前に "php3_" を付けて使用することにより、 設定の変更が可能です。
PHP 4.0 においては、PHP 用設定を変更可能なApache用ディレクティブは、 僅かしかありません。
指令した変数の値を設定します。
論理値のオプション設定を変更するために使用します。
指定した変数の値を設定します。 "Admin" は、メインの Apache 用設定ファイルにおいてのみ 設定可能で、.htaccess ファイルからは設定できません。
論理値のオプションを設定するために使用されます。 (Adminの意味は上記のオプションと同じです。)
phpinfo の出力を見ることにより、 設定値を確認することができます。 各設定の値は、get_cfg_var により 得ることができます。
ASP 形式のタグ <% %> を通常のタグ <?php ?> に加えて使用可能にします。 このスイッチにより、出力の短縮形 <%= $value %> も使用できるようになります。 詳細な情報は、HTML からのエスケープ を参照下さい。
注意: Support for ASP-style tags was added in 3.0.4 で追加されました。
メインファイルの後に自動的に追加されるファイルの 名前を指定します。 このファイルは、include 関数のコール時 と同様に読み込まれます。 このため、include_path が使用されます。
none を値として 指定するとこの自動付加機能はオフとなります。
注意: スクリプトが exit で終了する場合、 この自動付加機能は使用されません 。
メインファイルの前に自動的に付加されるファイルの名前を 指定します。 このファイルは、include 関数のコール時 と同様に読み込まれます。 このため、include_path が使用されます。
none を値として 指定すると、ファイルを前に追加する機能はオフとなります。
HTML 出力の一部としてエラーを画面に出力するかどうかを定義します。
サーバーにおける PHP の "ルートディレクトリ" です。 この値は空で無い場合のみ使用されます。 PHP が セーフモード で設定されている場合には、このディレクトリの外側にあるファイルは 使用されません。
この命令は、Apache モジュール版のユーザーのみに有用です。 この命令は、ディレクトリ毎または仮想サーバー毎に PHP による 処理をオンまたはオフにしたいようなサイトで使用されます。 httpd.conf ファイルの適当な場所に php3_engine off などと書くことにより、 PHP は有効または無効となります。
スクリプトエラーを記録するファイルの名前。 syslog という名前が指定された場合、 エラーはシステムログの方に送られます。 UNIX においては、システムログとは syslog(3) を意味しますが、 Windows NT ではイベントログとなります。 システムログは、Windows 95 ではサポートされません。
エラーレポートのレベルをセットします。 パラメータは、ビットフィールドを表す整数です。 望みのエラーレポートレベルの値を加えて下さい。
表 3-1. エラーレポートレベル
ビット値 | 有効なレポート |
---|---|
1 | 通常のエラー |
2 | 通常の警告 |
4 | パーサのエラー |
8 | クリティカルでないシステム関連の警告 |
PHP によりオープン可能なファイルを指定したディレクトリツリー以下に 制限します。
スクリプトが、例えば fopen または gzopen でファイルをオープン しようとした場合、そのファイルの位置が確認されます。 ファイルが、指定したディレクトリツリーの外側にあった場合、 PHP は、そのファイルのオープンを拒否します。 シンボリックリンクは全て解釈されるので、symlink により 制限を回避することは不可能です。
特別な値 . は、スクリプトが置かれているディレクトリが 基本ディレクトリとして使用されることを示します。
Windows では、ディレクトリはセミコロンで区切ります。 他の全てのシステムでは、ディレクトリは転んで区切ります。 Apache モジュールと同様に、親ディレクトリからの open_basedir パスが自動的に継承されます。
注意: PHP 3.0.7 から、複数ディレクトリのサポートが追加されています。
デフォルトでは、全てのファイルのオープンが許可されています。
GET/POST/COOKIE 変数処理の順番を設定します。 この命令のデフォルトの設定は、"GPC" です。 例えば、これを "GP" に PHP はクッキーを完全に無視し、 GET メソッド変数を同名の POST メソッド変数で上書きします。
デフォルトで On です。 Off に変更した場合、スクリプトはクライアント が接続を切断した後で何かを出力しようとした直後に終了されます。 ignore_user_abort も参照下さい。
require、include、 および fopen_with_path 関数がファイルを 探すディレクトリのリストを指定します。 フォーマットは、システムの環境変数 PATH と 同じです。 つまり、UNIX ではコロンで、Windows ではセミコロンで区切った ディレクトリのリストで指定します。
例 3-1. UNIX include_path
include_path=.:/home/httpd/php-lib
例 3-2. Windows include_path
include_path=".;c:\www\phplib"
スクリプトエラーメッセージをサーバーエラーログに 記録する必要があるかどうかを指定します。 このオプションは、サーバーの種類に依存します。
GPC (Get/Post/Cookie) 命令に関する magic_quotes の状態を セットします。 magic_quotes がオンの場合、' (シングルクオート)、 " (ダブルクオート)、\ (バックスラッシュ) 、NUL は 全て自動的にバックスラッシュでエスケープ処理されます。 magic_quotes_sybase もオンの場合、シングルクオートは、 バックスラッシュの代わりにシングルクオートでエスケープ されます。
magic_quotes_runtime が有効の場合、 データベースおよびテクストファイルを含む外部ソースから データを返す全ての関数のクオートは、バックスラッシュで エスケープされます。 magic_quotes_sybase もオンの場合、 シングルクオートは、バックスラッシュの代わりにシングルクオート でエスケープされます。
magic_quotes_gpc または magic_quotes_runtime が有効の場合、 magic_quotes_sybase もオンの場合に、 シングルクオートはバックスラッシュの代わりにシングルクオートで エスケープされます。
スクリプトがパーサにより強制終了されるまでに許容される 最大の時間を秒単位で指定します。 この命令は、いい加減に書かれたスクリプトがサーバーの負荷を 上げることを防止するのに役立ちます。
スクリプトが確保できる最大メモリをバイト数で指定します。 この命令は、いい加減に書かれたスクリプトがサーバーのメモリを 食いつぶすことを防止するのに役立ちます。
PHP タグの短縮型 (<? ?> を使用可能に するかどうかを設定します。 PHP を XML と組み合わせて用いる場合は、このオプションを オフにする必要があります。 これをオフにした場合、長い方の形式のタグ (<?php ?>) を使用する必要 があります。
このオプションを有効にした場合、最新のエラーメッセージを 常にグローバル変数 $php_errormsg で参照することができます。
このオプションを有効にした場合、GET、POST、クッキー入力は、 グローバル連想配列 $HTTP_GET_VARS、 $HTTP_POST_VARS、$HTTP_COOKIE_VARS でそれぞれ参照することができます。
ファイルアップロード時にファイル保存に用いるテンポラリディレクトリ。 PHP の実行ユーザーが書きこみ可能である必要があります。
PHP ファイルがユーザーのホームディレクトリとして使用する ディレクトリの名前。 例えば、public_html となります。
このオプションが有効の場合、 PHP は、文字列中に (+) 演算子が使用されている 場合に警告を出力します。 これは、文字列結合演算子 (.) を替わりに用いて 書きなおす必要があるスクリプトを発見しやすくするためのものです。
Windows 版の PHP が mail 関数による メールの送信に使用する SMTP サーバーの DNS 名または IP アドレス。
Windows 版の PHP から送信するメールにおいて "From:" に使用するメールアドレス。
sendmail プログラムがある場所。 通常は、 /usr/sbin/sendmail または、 /usr/lib/sendmail です。 configure が sendmail の場所を 探してくれますが、失敗する場合は、ここでそのパスをセットことが 可能です。
sendmail を使用していないシステムは、替わりに動作させるマシンの メールシステムが 提供する sendmail のラッパーまたは代替品をこの命令に指定する 必要があります。 例えば、 Qmail ユーザーは、 通常、この命令に /var/qmail/bin/sendmail をセットすることができます。
PHP のセーフモードを有効にするかどうかを指定します。 更に詳細情報については、 セキュリティの章 を参照下さい。
PHP がセーフモードで動作している場合、システムプログラムを 実行する system および他の関数 は、このディレクトリにないプログラムの実行を拒否します。
デバッガーにより使用されるホストの DNS 名または IP アドレス。
デバッガにより使用されるポート番号。
デバッガが有効かどうかを設定します。
この命令は、Apache モジュール版の PHP を使用した場合にのみ 有用です。 PHP の動的ロード拡張機能を dl で 仮想サーバー毎またはディレクトリ毎にオンまたはオフに変更することが できます。
動的ロード機能をオフにするのは主としてセキュリティ上の理由によります。 動的ロード機能により、 safe_mode および open_basedir の拘束を全て無視することが 可能になります。
デフォルトでは、セーフモードを使用している場合以外、 動的ロードが可能です。 セーフモードにおいては、dl を使用することが常に不可能になります。
動的にロード可能な拡張モジュールを置くディレクトリを 指定します。
PHP の起動時にロードされる動的にロード可能な拡張モジュールを 指定します。
継続的な MySQL 接続を許可するかどうかを指定します。
ホスト名が省略された場合にデータベースサーバーへの接続時に 使用するデフォルトのサーバーホスト。
ユーザー名が省略された場合にデータベースサーバーへの接続時に 使用するデフォルトのユーザー名。
パスワードが省略された場合にデータベースサーバーへの接続時に 使用するデフォルトのパスワード。
継続的な MySQL 接続のプロセス毎の最大数。
継続的な接続を含む MySQL 接続のプロセス毎の最大数。
継続的な mSQL 接続を許可するかどうかを指定します。
継続的な mSQL 接続のプロセス毎の最大数。
継続的な接続を含む mSQL 接続のプロセス毎の最大数。
継続的な Postgres 接続を許可するかどうかを指定します。
継続的な Postgres 接続のプロセス毎の最大数。
継続的な接続を含む Postgres 接続のプロセス毎の最大数。
継続的な Sybase 接続を許可するかどうかを指定します。
継続的な Sybase 接続のプロセス毎の最大数。
継続的な接続を含む Sybase 接続のプロセス毎の最大数。
継続的な Sybase-CT 接続を許可するかどうかを指定します。 デフォルトは、オンです。
継続的な Sybase-CT 接続のプロセス毎の最大数。 デフォルトは、制限無しを意味する -1 です。
継続的な接続を含む Sybase-CT 接続のプロセス毎の最大数。 デフォルトは、制限無しを意味する -1 です。
sybct.min_server_severity 以上の警告レベルを有する サーバーメッセージは、警告としてレポートされます。 この値は、スクリプトから sybase_min_server_severity を コールすることによりセットすることが可能です。 デフォルトでは、エラーをレポートする警告レベルは、 10 以上です。
警告レベルが、sybct.min_client_severity 以上の クライアントライブラリのメッセージは、警告としてレポートされます。 この値は、スクリプトから sybase_min_client_severity をコールする ことによりセットすることが可能です。 デフォルトは 10 であり、効率的にレポートを抑制して行うようにしています。
接続を行う際に接続失敗を返すまでの最大の秒数。 ある接続がタイムアウトしようとした時に max_execution_time を超えた場合、接続失敗の処理を行う前に スクリプトは終了することに注意して下さい。 デフォルトは、一分です。
select_db またはクエリー命令を実行する際に実行失敗を 返す前の最大の秒数。 ある命令がタイムアウトした時に、max_execution_time を超えた場合、 動作失敗の処理を行う前にスクリプトは終了することに注意して下さい。 デフォルトは、制限無しです。
sp_who により表示される際に使用される接続元のホスト名。 デフォルトは、none です。
持続的接続を許可するか否か
プロセス毎のInformix持続的接続の最大数
持続的接続を含む プロセス毎のInformix接続の最大数。
ifx_connect または ifx_pconnect において ホスト名を省略した場合に接続するデフォルトのホスト。
ifx_connect または ifx_pconnect において 省略した場合に使用するデフォルトのユーザーID。
ifx_connect または ifx_pconnect において 省略した場合に使用するデフォルトのパスワード。
ファイルに blob カラムを返したい場合に TRUE、 メモリに返したい場合に FALSEを設定します。 ifx_blobinfile_mode により 実行時に設定を上書きできます。
selectクエリーにおいてTEXTカラムを通常の文字列として返したい場合には TRUE、BLOB IDパラメータを使用したい場合はFALSEを設定します。 ifx_textasvarcharにより実行時に 設定を上書きできます。
selectクエリーにおいてBYTEカラムを通常の文字列として返したい場合には TRUE、BLOB IDパラメータを使用したい場合はFALSEを設定します。 ifx_textasvarcharにより実行時に 設定を上書きできます。
CHARカラムを取得する際に末尾の空白文字を取り除きたい場合には、 TRUEを設定します。
NULLカラムをリテラル文字列"NULL"として返したい場合にはTRUE、 空の文字列""として返したい場合にはFALSEを設定します。 ifx_nullformatにより実行時に設定を 上書きできます。
全ての bcmath 関数で使用する 10 進桁数。
ブラウザ機能ファイルの名前。get_browser も参照下さい。 !
odbc_connect または odbc_pconnect のどちらも指定されていない 場合に使用するODBC データソース。
odbc_connect または odbc_pconnect のどちらも指定されていない 場合に使用するユーザ名。
odbc_connect または odbc_pconnect のどちらも指定されていない 場合に使用するパスワード。
継続的な ODBC 接続を許可するかどうか指定します。
継続的な ODBC 接続のプロセス毎の最大数。
継続的な接続を含む ODBC 接続のプロセス毎の最大数。
HTTPからの入力コードを指定します。pass(無変換)またはauto (自動変換)を指定します。指定しない場合は、auto となります。
この設定は国際化機能を有効にしてPHPをコンパイルした場合にのみ有効です。
デフォルトのHTTP出力コードを指定します。 EUC,SJIS,JIS,UTF-8,pass(無変換)のどれかを指定します。 指定がない場合は無変換となります。 (内部コードがそのまま出力されます。)
この設定は国際化機能を有効にしてPHPをコンパイルした場合にのみ有効です。
i18n.internal_encoding 内部コードを指定します。 EUC,SJIS,UTF-8 のどれかを指定します。
この設定は国際化機能を有効にしてPHPをコンパイルした場合にのみ有効です。
スクリプトファイル中のコードを指定します。EUC,SJIS,JIS,UTF-8, autoを指定します。auto (デフォルト)を指定した場合は、自動 判定を行います。
この設定は国際化機能を有効にしてPHPをコンパイルした場合にのみ有効です。