PHP マニュアル
前のページ | 第 4 章 設定 | 次のページ

# 設定ディレクティブ

## httpdオプション

表 4-2httpdオプション

名前 | デフォルト | 変更の可否
--- | --- | ---
async_send | "0" | PHP_INI_ALL

## 言語オプション

表 4-3言語およびその他の設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
short_open_tag | On | PHP_INI_SYSTEM|PHP_INI_PERDIR
asp_tags | Off | PHP_INI_SYSTEM|PHP_INI_PERDIR
precision | "14" | PHP_INI_ALL
y2k_compliance | Off | PHP_INI_ALL
allow_call_time_pass_reference | On | PHP_INI_SYSTEM|PHP_INI_PERDIR
expose_php | On | PHP_INI_SYSTEM

以下に設定ディレクティブの簡単な説明を示します。

`short_open_tag` boolean

  PHP タグの短縮型 (`<? ?>`) を使用 可能にするかどうかを設定します。PHPをXMLと組み合わせて用いる 場合は、`<?xml ?>`をファイル中で用 いるためにこのオプションをオフにする必要があります。オンにし た場合にPHPでXMLを出力するには、例えば、次のようにします。 `<?php echo '<?xml version="1.0"'; ?>` これをオフにした場合、長い方の形式のタグ (`<?php ?>`)を使用する必要がありま す。

  > 注意 このディレクティブは、`<? echo`と同じ形式の ショートカット`<?=`も影響を受けます。 このショートカットを使用するには、 short_open_tagをonとする 必要があります。

`asp_tags` boolean

  ASP 形式のタグ <% %> を通常のタグ <?php ?> に加えて使用可能にします。 このスイッチにより、出力の短縮形 <%= $value %> も使用できるようになります。 詳細な情報は、 HTML からのエスケープを参照下さい。

  > 注意 ASP形式のタグは3.0.4で追加されました。

`precision` integer

  浮動小数点数に関して表示される最大桁数を指定します。

`y2k_compliance` boolean

  2000年問題対応を強制します。(2000年問題非対応のブラウザに問題 を発生する可能性があります。)

`allow_call_time_pass_reference` boolean

  関数のコール時に引数を強制的に参照で渡す機能の有効/無効を設定 します。この機能は過去のものであり、将来のバージョンの PHP/Zendではサポートされない可能性があります。 推奨される方法は、関数宣言時に参照渡しとするべき引数を指定す る方法です。将来のバージョンでの動作を保障するために、このオ プションをoffとし、スクリプトがこの状態で正しく動作することを 確認することが推奨されます。 (この機能を使用する度に警告が発生し、引数は参照ではなく値で渡 されます。)

  参照に関する説明も 参照下さい。

`expose_php` boolean

  (例えば、WebサーバヘッダにPHPのサインを追加することにより、) PHPがサーバーにインストールされていることを表示するかどうかを 指定します。これは全くセキュリティ上の脅威ではなく、サーバ上 でPHPを使用しているかどうかを調べられるようにするものです。

## リソース制限

表 4-4リソース制限

名前 | デフォルト | 変更の可否
--- | --- | ---
memory_limit | "8M" | PHP_INI_ALL

以下に設定ディレクティブに関する簡単な説明を示します。

`memory_limit` integer

  スクリプトが確保できる最大メモリをバイト数で指定します。この 命令は、正しく書かれていないスクリプトがサーバーのメモリを食 いつぶすことを防止するのに役立ちます。

max_execution_time も参照下さい。

## データ処理

表 4-5データ処理設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
track-vars | "On" | PHP_INI_??
arg_separator.output | "&" | PHP_INI_ALL
arg_separator.input | "&" | PHP_INI_SYSTEM|PHP_INI_PERDIR
variables_order | "EGPCS" | PHP_INI_ALL
register_globals | "Off" | PHP_INI_PERDIR|PHP_INI_SYSTEM
register_argc_argv | "On" | PHP_INI_PERDIR|PHP_INI_SYSTEM
post_max_size | "8M" | PHP_INI_SYSTEM|PHP_INI_PERDIR
gpc_order | "GPC" | PHP_INI_ALL
auto_prepend_file | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR
auto_append_file | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR
default_mimetype | "text/html" | PHP_INI_ALL
default_charset | "iso-8859-1" | PHP_INI_ALL
always_populate_raw_post_data | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR
allow_webdav_methods | "0" | PHP_INI_SYSTEM|PHP_INI_PERDIR

以下に設定ディレクティブに関する簡単な説明を示します。

`track_vars` boolean

  このオプションを有効にした場合、環境、GET、POST、クッキー、サー バ変数は、グローバル連想配列 `$_ENV`, `$_GET`, `$_POST`, `$_COOKIE`, `$_SERVER`で参照することができます。

  PHP 4.0.3以降、, track_vars は常にonとなっている ことに注意して下さい。

`arg_separator.output` string

  PHPがURLを生成する際にURL引数を区分するために使用されるセパレー タ。

`arg_separator.input` string

  入力されたURLを変数にパースする際にPHPが使用するセパレータのリスト。

  > 注意 このディレクティブで指定した全ての文字はセパレータとして認識 されます!

`variables_order` string

  EGPCS (Environment, GET, POST, Cookie, Server) 変数のパースの 順番を設定します。このディレクティブのデフォルトの設定値は、 "EGPCS"です。例えば、これを"GP"に設定するとPHPは完全に環境変 数、クッキー、サーバ変数を無視し、GETメソッド変数を同じ名前の POSTメソッド変数で全て上書きするようになります。

  register_globals も参照下さい。

`register_globals` boolean

  EGPCS(Environment, GET, POST, Cookie, Server)変数をグローバル 変数として登録するかどうかを指定します。例えば、 register_globals = onの場合、URL `http://www.example.com/test.php?id=3`は、 `$id`を生成します。また、 `$_SERVER['DOCUMENT_ROOT']`から `$DOCUMENT_ROOT`が生成されます。 使用するスクリプトのグローバルスコープをユーザのデータで混乱 させられたくない場合には、このオプションをoffにすることでしょう。 PHP 4.2.0以降、 このディレクティブのデフォルトは、offとなっています。 スーパーグローバル: `$_ENV`, `$_GET`, `$_POST`, `$_COOKIE`, `$_SERVER`のような PHPの定義済みの変数を かわりに使用することが推奨されています。 関連する情報については、セキュリティの章の register_globalsの使用 を参照してください。

  register_globalsは、 (ini_set()で)実行時に設定することができないことに 注意して下さい。しかし、前記のようにホストが許可している場合には、 `.htaccess`を使用することができます。 `.htaccess`エントリの例を以下に示します。 `php_flag register_globals on`

  > 注意 register_globals は、 variables_order ディレクティブの影響を受けます。

`register_argc_argv` boolean

  PHPが変数argvとargcを宣言するかどうかを指定します (argvにはGETの情報が格納されます)。

  コマンドライン も参照して下さい。このディレクティブはPHP 4.0.0で 追加されました。以前のバージョンでは常に"on"です。

`post_max_size` integer

  POSTデータに許可される最大サイズを設定します。この設定は、ファ イルアップロードにも影響します。大きなファイルをアップロード するには、この値を upload_max_filesize より大きく設定する必要があります。

  configureスクリプトでメモリ制限を有効とした場合、memory_limitもファイルアッ プロードに影響します。一般的に memory_limit は、 post_max_sizeよりも大きく する必要があります。

`gpc_order` string

  GET/POST/COOKIE 変数処理の順番を設定します。この命令のデフォ ルトの設定は、"GPC"です。例えば、これを"GP"にPHPはクッキーを 完全に無視し、GETメソッド変数を同名のPOSTメソッド変数で上書き します。

  > 注意 このオプションは、PHP 4では利用できまないことに注意して下さい。 代わりに、variables_orderを使用し て下さい。

`auto_prepend_file` string

  メインファイルの前に自動的に付加されるファイルの名前を 指定します。 このファイルは、include() 関数のコール時 と同様に読み込まれます。 このため、include_path が使用されます。

  特別な値 none を指 定すると、ファイルを前に追加する機能は無効となります。

`auto_append_file` string

  メインファイルの後に自動的に追加されるファイルの 名前を指定します。 このファイルは、include() 関数のコール時 と同様に読み込まれます。 このため、include_path が使用されます。

  none を値として 指定するとこの自動付加機能はオフとなります。

  > 注意 スクリプトが exit() で終了する場合、 この自動付加機能は使用されません 。

`default_mimetype` string

`default_charset` string

  4.0b4以降、PHP は、デフォルトで常にContent-type:ヘッダで character encodingを出力するようになっています。charsetの送信 を無効にするには、これを空にして下さい。

`always_populate_raw_post_data` boolean

  常に$HTTP_RAW_POST_DATA変数にアクセス可能とします。

`allow_webdav_methods` boolean

  PHPスクリプトの中でWebDAV http リクエスト (例：PROPFIND, PROPPATCH, MOVE, COPY, 等..)の処理を可能にしま す。これらのリクエストのPOSTデータを取得したい場合、 always_populate_raw_post_data も同時に設定する必要があ ります。

magic_quotes_gpc, magic-quotes-runtime, および magic_quotes_sybase も参照下さい。

## パスおよびディレクトリ

表 4-6パスおよびディレクトリ設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
include_path | PHP_INCLUDE_PATH | PHP_INI_ALL
doc_root | PHP_INCLUDE_PATH | PHP_INI_SYSTEM
user_dir | NULL | PHP_INI_SYSTEM
extension_dir | PHP_EXTENSION_DIR | PHP_INI_SYSTEM
cgi.force_redirect | "1" | PHP_INI_SYSTEM
cgi.redirect_status_env | "" | PHP_INI_SYSTEM
fastcgi.impersonate | "0" | PHP_INI_SYSTEM

以下に設定ディレクティブに関する簡単な説明を示します。

`include_path` string

  require()、include()、 および fopen_with_path() 関数がファイルを 探すディレクトリのリストを指定します。フォーマットは、システ ムの環境変数 `PATH`と同じです。つまり、UNIXでは コロンで、Windowsではセミコロンで区切ったディレクトリのリスト で指定します。

  例 4-3UNIX include_path

      include_path=.:/home/httpd/php-lib

  例 4-4Windows include_path

      include_path=".;c:\www\phplib"

  このディレクティブのデフォルト値は、`.`(カレ ントディレクトリのみ)です。
`doc_root` string

  サーバーにおけるPHPの"ルートディレクトリ"です。この値は空で無 い場合のみ使用されます。PHPがセー フモードで設定されている場合には、このディレクトリの外 側にあるファイルは使用されません。 PHPがFORCE_REDIRECTを指定してコンパイルされていない場合、 (IIS以外の)WebサーバのもとでCGIとしてPHPを実行する際には、 doc_rootを指定するべきです。 他の方法としては、後述の cgi.force_redirect 設定の使用があります。

`user_dir` string

  `PHP`ファイル用にユーザーのホームディレクト リとして使用する基本ディレクトリの名前。例えば、 `public_html` となります。

`extension_dir` string

  動的にロード可能な拡張モジュールを置くディレクトリを 指定します。 See also: enable_dl, and dl().

`extension` string

  PHPの開始時にロードする動的にロード可能な拡張モジュール。

`cgi.force_redirect` boolean

  cgi.force_redirect は、ほとんどのWebサーバのもとでCGIとして PHPを実行する際のセキュリティを確保するために必要です。 未定義のままの場合、PHPはデフォルトでこれをonにします。 これをoffにすることもできますが、各自のリスクとなり ます。

  > 注意 Windowsユーザ: IISでは安全にこれをoffにすることができます。 実際には、offにする必要があります。 OmniHTTPD または Xitami を動作させるには、これをoffにする必 要があります。

`cgi.cgi.redirect_status_env` string

  cgi.force_redirect を on にし、Apache または Netscape (iPlanet) Webサーバのもとで実行していない場合、 実行を継続して良いかどうかをPHPが判断するために 環境変数の名前を設定する必要があるかもしれません。

  > 注意 この変数を設定することにより、セキュリティ上の問題を発生する 場合があります。行うことのリスクをまず把握して下さい。

`fastcgi.impersonate` string

  IIS(またはWINNTベースのOS)のもとでのFastCGIは、 クライアントをコールする際にセキュリティトークンを 匿名化する機能をサポートしています。 これにより、IISが配下でリクエストを実行するセキュリティコンテ キストを定義できるようになります。Apacheのもとで実行される mod_fastcgiは現在この機能をサポートしていません。(03/17/2002) IISのもとで実行するには、1に設定して下さい。 デフォルトは0です。

## ファイルアップロード

表 4-7ファイルアップロード設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
file_uploads | "1" | PHP_INI_SYSTEM
upload_tmp_dir | NULL | PHP_INI_SYSTEM
upload_max_filesize | "2M" | PHP_INI_SYSTEM|PHP_INI_PERDIR

以下に設定ディレクティブに関する簡単な説明を示します。

`file_uploads` boolean

  HTTP ファイルアップロー ドを有効とするかどうか。 upload_max_filesize, upload_tmp_dir, post_max_size ディレ クティブも参照下さい。

`upload_tmp_dir` string

  ファイルアップロード時にファイル保存に用いるテンポラリディレ クトリ。`PHP`の実行ユーザーが書きこみ可能で ある必要があります。指定されない場合、PHPはシステムのデフォル ト設定を使用します。

`upload_max_filesize` integer

  アップロードされるファイルの最大サイズ。

## SQL全般

表 4-8SQL全般の設定オプション

名前 | デフォルト | 変更の可否
--- | --- | ---
sql.safe_mode | "0" | PHP_INI_SYSTEM

以下に設定ディレクティブに関する簡単な説明を示します。

`sql.safe_mode` boolean

## デバッガ設定ディレクティブ

`debugger.host` string

  デバッガにより使用されるホストのDNS名またはIPアドレス。

`debugger.port` string

  デバッガにより使用されるポート番号。

`debugger.enabled` boolean

  デバッガを有効にするかどうか。

前のページ | ホーム | 次のページ
設定を変更するには | 上に戻る | セキュリティ