1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-28 00:52:12 +01:00
Files
archived-doc-ja/reference/session/ini.xml
TAKAGI Masahiro f6bb65aef0 Sync with en
git-svn-id: https://svn.php.net/repository/phpdoc/ja/trunk@327368 c90b9560-bf6c-de11-be94-00142212c4b1
2012-08-29 20:29:21 +00:00

925 lines
34 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 773e4a944a40c3ea0caf1b7833cab741c38f2ddf Maintainer: hirokawa Status: ready -->
<!-- CREDITS: shimooka,takagi -->
<section xml:id="session.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>セッションの設定オプション</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.session.save-path">session.save_path</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.name">session.name</link></entry>
<entry>"PHPSESSID"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.save-handler">session.save_handler</link></entry>
<entry>"files"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.auto-start">session.auto_start</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.gc-probability">session.gc_probability</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.gc-divisor">session.gc_divisor</link></entry>
<entry>"100"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.2 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.gc-maxlifetime">session.gc_maxlifetime</link></entry>
<entry>"1440"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.serialize-handler">session.serialize_handler</link></entry>
<entry>"php"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-lifetime">session.cookie_lifetime</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-path">session.cookie_path</link></entry>
<entry>"/"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-domain">session.cookie_domain</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-secure">session.cookie_secure</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.0.4 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.cookie-httponly">session.cookie_httponly</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 5.2.0 から使用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.use-cookies">session.use_cookies</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.use-only-cookies">session.use_only_cookies</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.referer-check">session.referer_check</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.entropy-file">session.entropy_file</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.entropy-length">session.entropy_length</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cache-limiter">session.cache_limiter</link></entry>
<entry>"nocache"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.cache-expire">session.cache_expire</link></entry>
<entry>"180"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.session.use-trans-sid">session.use_trans_sid</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP_INI_ALL は PHP &lt;= 4.2.3、PHP_INI_PERDIR は PHP &lt; 5 から。PHP 4.0.3 から利用可能。</entry>
</row>
<row>
<entry><link linkend="ini.session.bug-compat-42">session.bug_compat_42</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 から利用可能。PHP 5.4.0 で削除されました。</entry>
</row>
<row>
<entry><link linkend="ini.session.bug-compat-warn">session.bug_compat_warn</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 から利用可能。PHP 5.4.0 で削除されました。</entry>
</row>
<row>
<entry><link linkend="ini.session.hash-function">session.hash_function</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 5.0.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.hash-bits-per-character">session.hash_bits_per_character</link></entry>
<entry>"4"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 5.0.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.url-rewriter.tags">url_rewriter.tags</link></entry>
<entry>"a=href,area=href,frame=src,form=,fieldset="</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.0.4 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.enabled">session.upload_progress.enabled</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.cleanup">session.upload_progress.cleanup</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link></entry>
<entry>"upload_progress_"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.name">session.upload_progress.name</link></entry>
<entry>"PHP_SESSION_UPLOAD_PROGRESS"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.freq">session.upload_progress.freq</link></entry>
<entry>"1%"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
<row>
<entry><link linkend="ini.session.upload-progress.min-freq">session.upload_progress.min_freq</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_PERDIR</entry>
<entry>PHP 5.4.0 から利用可能</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
<para>
セッション管理システムは、&php.ini;ファイルに記述可能な多くの設定オ
プションをサポートします。以下に概要を示します。
<variablelist>
<varlistentry xml:id="ini.session.save-handler">
<term>
<parameter>session.save_handler</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.save_handler</literal> は、
セッションに関連するデータの保存および取得時に使用するハンドラを定義します。
デフォルトは、<literal>files</literal> です。各拡張モジュールで、
独自の <literal>save_handler</literal> を使用できることに注意しましょう。
インストール環境単位で登録されているハンドラを取得するには
<function>phpinfo</function> を使用します。
<function>session_set_save_handler</function> も参照してください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.save-path">
<term>
<parameter>session.save_path</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.save_path</literal> は、保存ハンドラに渡される
引数を定義します。デフォルトのファイルハンドラを選択した場合、
ファイルが作成される場所のパスになります。
<function>session_save_path</function> も参照ください。
</simpara>
<para>
オプションの引数としてN数値を指定できます。
これはセッションファイルを分散して保存する際に
ディレクトリ階層レベルを決定します。
例えば、<literal>'5;/tmp'</literal>とすると
<literal>/tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If</literal>
という位置にセッションファイルを生成します。
Nを使用するには、これらすべてのディレクトリが
事前に作成されている必要があります。
そのためのシェルスクリプトが<filename>ext/session</filename>
<filename>mod_files.sh</filename>というファイル名であります。
Windows 版の <filename>mod_files.bat</filename> もあります。
また、0以上のNが指定されている場合には自動ガーベッジコレクション
が機能しないことに注意してください。詳細は &php.ini; を見てください。
また、Nを指定する場合は、
<literal>session.save_path</literal>を"quotes"で囲う必要があります。
なぜならセパレータ(<literal>;</literal>) は
&php.ini; ではコメントとしても利用されているからです。
</para>
<warning>
<para>
この設定を<filename>/tmp</filename> (デフォルト)のようにどこか
らでも読み込み可能なディレクトリのままにしている場合、サーバー上
の他のユーザーがこのディレクトリのファイルのリストを取得すること
により、セッションをハイジャックをすることが可能となります。
</para>
</warning>
<note>
<simpara>
PHP 4.3.6 以前では、WindowsユーザーがPHPのsession関数を使用するためには、
この変数を変更する必要があります。<filename>c:/temp</filename>
のような有効なパスを指定するようにしてください。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.name">
<term>
<parameter>session.name</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.name</literal> はセッション名を指定し、
クッキー名として使用されます。
アルファベット文字のみで指定する必要があります。
デフォルトは、<literal>PHPSESSID</literal> です。
<function>session_name</function>も参照してください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.auto-start">
<term>
<parameter>session.auto_start</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
<literal>session.auto_start</literal> はリクエスト開始時に
セッションモジュールがセッションを自動的に開始するかどうかを
指定します。デフォルトは、<literal>0</literal>(無効)です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.serialize-handler">
<term>
<parameter>session.serialize_handler</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.serialize_handler</literal> は、シリアル化または
シリアル化データを復元するために使用されるハンドラの名前を定義します。
現在、( <literal>php</literal> あるいは
<literal>php_binary</literal> という名前の) PHP
内部フォーマットおよび (<literal>wddx</literal> という名前の) WDDX
がサポートされています。WDDX は、PHP が<link
linkend="ref.wddx">WDDX サポート</link>
を有効にしてコンパイルされている場合のみ使用可能です。デフォルトは、
<literal>php</literal> です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-probability">
<term>
<parameter>session.gc_probability</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.gc_probability</literal>
<literal>session.gc_divisor</literal>の組み合わせでgc
(ガーベッジコレクション)ルーチンの始動を制御します。
デフォルトは、<literal>1</literal> です。
詳細は<link
linkend="ini.session.gc-divisor">session.gc_divisor</link>
をご覧ください
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-divisor">
<term>
<parameter>session.gc_divisor</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.gc_divisor</literal>
<literal>session.gc_probability</literal>の組み合わせで
すべてのセッションの初期化過程でgcガーベッジコネクションプロセス
も始動する確率を制御します。確率は gc_probability/gc_divisor
で計算されます。例えば、1/100は各リクエスト毎に1%の確率でGCプロセスが
始動します。
<literal>session.gc_divisor</literal>のデフォルトは<literal>100</literal>です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.gc-maxlifetime">
<term>
<parameter>session.gc_maxlifetime</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.gc_maxlifetime</literal> は、データが
'ごみ' とみなされ、消去されるまでの秒数を指定します。
ガベージコレクション (ごみの収集) は、
セッションの開始時に行われます (<link
linkend="ini.session.gc-probability">session.gc_probability</link>
<link linkend="ini.session.gc-divisor">session.gc_divisor</link>
に依存します)。
</simpara>
<note>
<para>
異なる値を <literal>session.gc_maxlifetime</literal> に指定している
別々のスクリプトがセッションデータの保存場所を共有している場合、
一番小さい設定値に達した時点でデータが消去されます。このような場合には、
お互いに <link linkend="ini.session.save-path">session.save_path</link>
を使用します。
</para>
</note>
<note>
<simpara>
デフォルトのファイルに基づくセッションハンドラを使用している場
合、使用するファイルシステムは、アクセス時間(atime)を記録できる
必要があります。Windows FATはこれができないため、
FATファイルシステムまたはatimeの記録ができない他のファイルシス
テムで問題を発生した場合は、セッションのガベージコレクト処理を
行う他の手段を用意する必要があります。
PHP4.2.3以降、atimeの代わりにmtime更新時刻が使用されます。
このため、atimeが利用できないファイルシステムでの問題は無くなりました。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.referer-check">
<term>
<parameter>session.referer_check</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.referer_check</literal> には、HTTP Referer に
おいて確認を行う文字列を指定します。Refererがクライアントにより
送信されており、かつ、指定した文字列が見付からない場合、埋め込
まれたセッションIDは無効となります。デフォルトは空の文字列です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.entropy-file">
<term>
<parameter>session.entropy_file</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.entropy_file</literal> は、
セッションIDを作成する際の別のエントロピーソースとして使用する
外部リソースへのパスを指定します。
例としては、多くの UNIX で利用可能な <literal>/dev/random</literal>
または <literal>/dev/urandom</literal> があげられます。
</simpara>
<simpara>
この機能は、Windows では PHP 5.3.3 以降で対応します。
<literal>session.entropy_length</literal> にゼロ以外の値を設定すると、
PHP は Windows Random API をエントロピーソースとして使います。
</simpara>
<note>
<simpara>
PHP 5.4.0 以降では、
<literal>/dev/urandom</literal> あるいは <literal>/dev/arandom</literal>
が使えるときはそれを
<literal>session.entropy_file</literal> のデフォルトとするようになりました。
それまでのバージョンでは、このディレクティブのデフォルトは空でした。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.entropy-length">
<term>
<parameter>session.entropy_length</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.entropy_length</literal> は、前記のファイルから
読みこむバイト数を指定します。デフォルトは、<literal>0</literal>
(無効)です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-cookies">
<term>
<parameter>session.use_cookies</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
<literal>session.use_cookies</literal>によりクライアント側にセッ
ションIDを保存する際にクッキーを使用するかどうかを指定します。デ
フォルトは<literal>1</literal> (有効)です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-only-cookies">
<term>
<parameter>session.use_only_cookies</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
<literal>session.use_only_cookies</literal> は、
このモジュールがクライアント側へのセッション ID の保存に
Cookie <emphasis role="strong">のみ</emphasis>
を使用することを指定します。
この設定を有効にすることにより、セッション ID を URL
に埋め込む攻撃を防ぐことができます。この設定は、
<literal>PHP</literal> 4.3.0 で追加されました。
PHP 5.3.0 以降で、デフォルトは <literal>1</literal> (有効) となります。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-lifetime">
<term>
<parameter>session.cookie_lifetime</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_lifetime</literal> は、
ブラウザに送信するクッキーの有効期間を秒単位で指定します。
0 を指定すると "ブラウザを閉じるまで" という意味になります。
デフォルトは、<literal>0</literal> です。
<function>session_get_cookie_params</function> および
<function>session_set_cookie_params</function> も参照してください。
</simpara>
<note>
<para>
有効期限のタイムスタンプは、サーバーの時刻に基づいて決まります。
クライアントのブラウザの時刻がこれと同じであるとは限りません。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-path">
<term>
<parameter>session.cookie_path</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_path</literal>
によりセッションクッキーで設定するパスを指定します。
デフォルトは<literal>/</literal>です。
<function>session_get_cookie_params</function>および
<function>session_set_cookie_params</function>も参照してください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-domain">
<term>
<parameter>session.cookie_domain</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_domain</literal>
によりセッションクッキーで指定するドメインを指定します。
デフォルトでは指定されません。
この場合は、クッキーの仕様によって、クッキーを作成したサーバーの
ホスト名が指定されます。
<function>session_get_cookie_params</function> および
<function>session_set_cookie_params</function> も参照ください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-secure">
<term>
<parameter>session.cookie_secure</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
<literal>session.cookie_secure</literal>は、
セキュアな接続を通じてのみCookieを送信できるかどうかを指定します。
デフォルトは、<literal>off</literal>です。
この設定は、<literal>PHP</literal> 4.0.4で追加されました。
<function>session_get_cookie_params</function>および
<function>session_set_cookie_params</function>も参照してください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cookie-httponly">
<term>
<parameter>session.cookie_httponly</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
クッキーに対して、HTTP を通してのみアクセスできるようにします。
つまり、JavaScript のようなスクリプト言語からはアクセスできなくなるということです。
この設定を使用すると、XSS 攻撃によって ID を盗まれる危険性を減らせます
(が、すべてのブラウザがこの設定をサポートしているというわけではありません)。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cache-limiter">
<term>
<parameter>session.cache_limiter</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>session.cache_limiter</literal>
により、セッションページにおけるキャッシュ制御の方法を指定します。
<literal>nocache</literal><literal>private</literal>
<literal>private_no_expire</literal> あるいは <literal>public</literal>
のいずれかとなります。デフォルトは <literal>nocache</literal> です。
これらの値の意味については
<function>session_cache_limiter</function> のドキュメントも参照ください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.cache-expire">
<term>
<parameter>session.cache_expire</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.cache_expire</literal>によりキャッシュされた
セッションページの有効期間を分単位で指定します。
このオプションは、nocacheリミッタに関しては効果がありません。
デフォルトは、<literal>180</literal>です。
<function>session_cache_expire</function>も参照してください。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.use-trans-sid">
<term>
<parameter>session.use_trans_sid</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
<literal>session.use_trans_sid</literal>は、透過的なセッション
IDの付加をするかどうかを指定します。
デフォルトは、<literal>0</literal>(無効)です。
</simpara>
<note>
<simpara>
PHP 4.1.2より前のバージョンでは、このオプションは
<link linkend="configure.enable-trans-sid">
<literal>--enable-trans-sid</literal></link>により
コンパイル時に有効とされていました。
PHP 4.2.0以降、trans-sid機能は常にコンパイルされます。
</simpara>
<simpara>
URLに基づくセッション管理は、Cookieに基づくセッション管理と比べ
てセキュリティリスクが大きくなります。例えば、ユーザーは、emailに
より友人にアクティブなセッションIDを含むURLを送信する可能性があ
り、また、ユーザーは自分のブックマークにセッションIDを含むURLを保
存し、常に同じセッションIDで使用するサイトにアクセスする可能性
があります。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.bug-compat-42">
<term>
<parameter>session.bug_compat_42</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
PHP バージョンが 4.2.3 とそれ以前には、たとえ
<link linkend="ini.register-globals">register_globals</link>
が無効の場合でもグローバルスコープでセッション変数の初期化を
許してしまうドキュメント化されていない特徴/バグがあります。
この機能を使用している場合で <link linkend="ini.session.bug-compat-warn">
session.bug_compat_warn</link> も有効にしている場合、
PHP 4.3.0 とそれ以降のバージョンでは警告が発されます。
この特徴/バグは、
このディレクティブを無効にすることで無効にすることが可能です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.bug-compat-warn">
<term>
<parameter>session.bug_compat_warn</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
PHP バージョンが 4.2.3 とそれ以前には、たとえ
<link linkend="ini.register-globals">register_globals</link>
が無効の場合でもグローバルスコープでセッション変数の初期化を
許してしまうドキュメント化されていない特徴/バグがあります。
この機能を
<link linkend="ini.session.bug-compat-42">session.bug_compat_42</link>
<link linkend="ini.session.bug-compat-warn">
session.bug_compat_warn</link> を有効にして使用している場合、
PHP 4.3.0 とそれ以降のバージョンでは警告が発されます。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.hash-function">
<term>
<parameter>session.hash_function</parameter>
<type>mixed</type>
</term>
<listitem>
<simpara>
<literal>session.hash_function</literal> によりセッション ID
を生成するために使用されるハッシュアルゴリズムを指定することが可能です。
'0' は MD5 (128 ビット) で、'1' は SHA-1 (160 ビット) を意味します。
</simpara>
<para>
PHP 5.3.0 以降では、<link linkend="ref.hash">hash 拡張モジュール</link>
の任意のアルゴリズムが (この拡張モジュールが使用可能な場合に)
指定できるようになります。たとえば
<literal>sha512</literal>
<literal>whirlpool</literal> などです。
サポートされているアルゴリズムの一覧は、
<function>hash_algos</function> 関数で取得できます。
</para>
<note>
<para>
この設定は PHP 5 で導入されました。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.hash-bits-per-character">
<term>
<parameter>session.hash_bits_per_character</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
<literal>session.hash_bits_per_character</literal> により
バイナリのハッシュデータを何らかの可読なデータに変換する際、
それぞれの文字に何ビットストアさせるかを定義することが可能です。
指定可能な値は、'4' (0-9, a-f)、'5' (0-9, a-v) そして
'6' (0-9, a-z, A-Z, "-", ",") です。
</simpara>
<note>
<para>
このディレクティブは PHP 5 で導入されました。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.url-rewriter.tags">
<term>
<parameter>url_rewriter.tags</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
<literal>url_rewriter.tags</literal>は、透過的なセッションIDの
付加機能が有効となった場合に、セッションIDを含めるために書き換
えられるHTMLタグを指定します。デフォルトは、
<literal>a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=</literal>
です。
</simpara>
<note>
<simpara>
HTML/XHTML strict に適合させたい場合には <literal>form</literal> エントリは削除し、
formフィールドの前後に&lt;fieldset&gt; タグを使ってください。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.enabled">
<term>
<parameter>session.upload_progress.enabled</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
アップロードの進捗を追跡して <varname>$_SESSION</varname> 変数に格納するかどうか。
デフォルトは 1 で、この機能は有効になっています。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.cleanup">
<term>
<parameter>session.upload_progress.cleanup</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
すべての POST データを読み終えた (つまり、アップロードが完了した)
時点ですぐに進捗状況を消去するかどうか。
デフォルトは 1 で、この機能は有効になっています。
</simpara>
<note>
<simpara>
この機能を有効にしておくことを強くおすすめします。
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.prefix">
<term>
<parameter>session.upload_progress.prefix</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
アップロードの進捗を <varname>$_SESSION</varname> で管理するときに使うキーのプレフィックス。
このキーを
<literal>$_POST[ini_get("session.upload_progress.name")]</literal>
の値と連結して、一意なインデックスを作ります。
</simpara>
<simpara>
デフォルトは "upload_progress_" です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.name">
<term>
<parameter>session.upload_progress.name</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
進捗情報を <varname>$_SESSION</varname> に格納するときに使うキーの名前。
<link linkend="ini.session.upload-progress.prefix">session.upload_progress.prefix</link>
も参照ください。
</simpara>
<simpara>
<literal>$_POST[ini_get("session.upload_progress.name")]</literal>
が渡されていない場合や存在しない場合は、アップロードの進捗を記録しません。
</simpara>
<simpara>
デフォルトは "PHP_SESSION_UPLOAD_PROGRESS" です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.freq">
<term>
<parameter>session.upload_progress.freq</parameter>
<type>mixed</type>
</term>
<listitem>
<simpara>
アップロードの進捗を更新する頻度を定義します。
バイト数 (100 バイトごとに進捗を更新するなど)
あるいはパーセンテージ (ファイル全体のサイズの 1% ごとに進捗を更新するなど)
で指定できます。
</simpara>
<simpara>
デフォルトは "1%" です。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.session.upload-progress.min-freq">
<term>
<parameter>session.upload_progress.min-freq</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
更新間隔の最小値。単位は秒。
デフォルトは "1" (1 秒) です。
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
<link
linkend="ini.track-vars"><literal>track_vars</literal></link>および
<link
linkend="ini.register-globals"><literal>register_globals</literal></link>
設定はセッション変数の保存および回復方法に影響を与えます。
</para>
<para>
アップロードの進捗は、
session.upload_progress.enabled を有効にして
$_POST[ini_get("session.upload_progress.name")] を設定するまでは登録されません。
この機能の詳細は <link linkend="session.upload-progress">セッションのアップロードの進捗</link>
を参照ください。
</para>
<note>
<para>
PHP 4.0.3以降、<link
linkend="ini.track-vars"><literal>track_vars</literal></link> は常
にonとなっています。
</para>
</note>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->