1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-25 15:42:08 +01:00
Files
archived-doc-ja/reference/errorfunc/ini.xml
TAKAGI Masahiro 48125d4b49 Sync with en
git-svn-id: https://svn.php.net/repository/phpdoc/ja/trunk@328578 c90b9560-bf6c-de11-be94-00142212c4b1
2012-11-30 20:58:17 +00:00

499 lines
19 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: 5f2e83dfc22ec18e2a07bf37fa145ad450b9c330 Maintainer: hirokawa Status: ready -->
<!-- CREDITS: takagi -->
<section xml:id="errorfunc.configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>エラーおよびロギング設定オプション</title>
<tgroup cols="3">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.error-reporting">error_reporting</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-errors">display_errors</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.display-startup-errors">display_startup_errors</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.log-errors">log_errors</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.log-errors-max-len">log_errors_max_len</link></entry>
<entry>"1024"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-errors">ignore_repeated_errors</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.ignore-repeated-source">ignore_repeated_source</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.report-memleaks">report_memleaks</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.track-errors">track_errors</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.html-errors">html_errors</link></entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP &lt;= 4.2.3 では PHP_INI_SYSTEM 。</entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-errors">xmlrpc_errors</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>PHP 4.1.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.xmlrpc-error-number">xmlrpc_error_number</link></entry>
<entry>"0"</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.1.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.docref-root">docref_root</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.0 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.docref-ext">docref_ext</link></entry>
<entry>""</entry>
<entry>PHP_INI_ALL</entry>
<entry>PHP 4.3.2 以降で有効です。</entry>
</row>
<row>
<entry><link linkend="ini.error-prepend-string">error_prepend_string</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-append-string">error_append_string</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.error-log">error_log</link></entry>
<entry>NULL</entry>
<entry>PHP_INI_ALL</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
<para>
以下に設定ディレクティブの簡単な説明を示します。
<variablelist>
<varlistentry xml:id="ini.error-reporting">
<term>
<parameter>error_reporting</parameter>
<type>integer</type>
</term>
<listitem>
<para>
エラー出力レベルを設定します。パラメータは、あるビットフィールドを表
す整数か定数名で指定します。このerror_reportingのレベルと定数は、
<link linkend="errorfunc.constants">定義済の定数</link>および
&php.ini;に記述されています。 実行時に設定するには、
<function>error_reporting</function> 関数を指定してください。
<link linkend="ini.display-errors">display_errors</link>
ディレクティブも参照してください。
</para>
<para>
PHP 4 と PHP 5 のデフォルトは <constant>E_ALL</constant> &amp; ~<constant>E_NOTICE</constant> です。
この設定は<constant>E_NOTICE</constant>レベルのエラーは出力されません。
開発時にはこのエラーを表示させたい場合もあるかもしれません。
</para>
<note>
<para>
開発時に<constant>E_NOTICE</constant>を有効にすることにはいくつ
かの利点があります。デバッグのために、NOTICE メッセージはコード
の中のバグの可能性について警告を与えます。例えば、代入されていな
い値を使用した場合は、警告を発生します。
これは、書き間違いを見付け、デバッグの時間を節約するために非常
に有用です。NOTICEメッセージは、好ましくないコードに警告します。
例えば、<literal>$arr[item]</literal><literal>$arr['item']</literal> と書く方が好ましいです。
これは、PHPが <literal>"item"</literal> を定数として取り扱うためです。
定数でない場合、PHPは配列の添字用の文字列と判断します。
</para>
</note>
<note>
<para>
PHP 5では新しいエラーレベル<constant>E_STRICT</constant>を使用できます。
PHP 5.4.0 より前のバージョンの場合は <constant>E_ALL</constant>
<constant>E_STRICT</constant> が含まれないため、
PHP &lt; 5.4.0 では明示的にこのエラーレベルを設定する必要があります。
開発中に <constant>E_STRICT</constant> を有効にすることはいくつかの利点があります。
STRICT メッセージの提案に従えば、コードの相互運用性を高めて将来のバージョンでも動くようする助けとなります。
メッセージに含まれる内容は、静的でないメソッドを静的に呼び出していたり
利用中のトレイトで定義しているプロパティをクラス定義でも行っていたりといった内容です。
また、PHP 5.3 より前のバージョンでは、
非推奨の機能 (インスタンス化の際にオブジェクトを参照で代入するなど)
を使ったときにも <constant>E_STRICT</constant> エラーが発生していました。
</para>
</note>
<note>
<title>PHP 定数の、PHP 以外での使用</title>
<para>
PHP の定数を、<filename>httpd.conf</filename> など PHP
の外部で使用しても何の意味もありません。外部で使用する場合には、
<type>integer</type> 型の値を指定しなければなりません。
また、エラーレベルはこれからも追加されることがあるので、
最大値 (<constant>E_ALL</constant> に対応する値)
は変わる可能性があります。そこで、<constant>E_ALL</constant>
を指定する場面では <literal>2147483647</literal>
(<constant>E_ALL</constant> だけではなくすべてのエラーを含める)
のような数を指定するようにしましょう。
これは現状の全ビットに対応した上で、かつ値が将来追加された場合にも対応できます。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-errors">
<term>
<parameter>display_errors</parameter>
<type>string</type>
</term>
<listitem>
<para>
エラーをHTML出力の一部として画面に出力するかどうかを定義します。
</para>
<para>
"stderr" を指定すると、エラーの内容を <literal>stdout</literal>
(標準出力) ではなく <literal>stderr</literal> (標準エラー出力)
に送ります。この値は PHP 5.2.4 以降で使用可能です。それより前のバージョンでは、
このディレクティブは <type>boolean</type> 型でした。
</para>
<note>
<para>
開発をサポートする仕組みであり、本番のシステムでは
使用すべきではありません (例えばインターネットに接続されたシステムなど)。
</para>
</note>
<note>
<para>
display_errors は実行時にも設定可能(<function>ini_set</function>
関数を用いてですが、スクリプトが致命的fatalなエラーを発生した場合は
その設定は反映されません。なぜなら、要求されたアクションは
実行されなかったからです。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.display-startup-errors">
<term>
<parameter>display_startup_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
display_errorsをonにした場合でも、PHPの起動シーケンスにおいて発
生したエラーは表示されません。デバッグ時を除き、
display_startup_errorsをoffにしておくことが強く推奨されます。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors">
<term>
<parameter>log_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
エラーメッセージを、サーバーのエラーログまたは<link
linkend="ini.error-log">error_log</link>に記録するかどうかを指定
します。このオプションはサーバーに依存します。
</para>
<note>
<para>
実用Webサイトではエラー表示を行う代わりにエラーを記録することを
強く推奨します。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.log-errors-max-len">
<term>
<parameter>log_errors_max_len</parameter>
<type>integer</type>
</term>
<listitem>
<para>
log_errorsの最大長をバイト単位で設定します。
<link linkend="ini.error-log">error_log</link> には、
この設定で情報が追加されます。デフォルトは 1024 で、0 を指定すると
最大長の制限は全く適用されなくなります。
この長さはエラーログへの記録や
エラーの表示、そして
<varname>$php_errormsg</varname>
に適用されます。
</para>
&ini.shorthandbytes;
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-errors">
<term>
<parameter>ignore_repeated_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
繰り返されるメッセージを記録しません。エラーの繰り返しは、
<link
linkend="ini.ignore-repeated-source">ignore_repeated_source</link>
trueに設定されるまで同じファイルの同じ行で発生します。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ignore-repeated-source">
<term>
<parameter>ignore_repeated_source</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
メッセージの繰り返しを無視する場合にメッセージのソースを無視しま
す。この設定をOnにすると、異なるファイルまたはソース行からの同じ
エラーメッセージの繰り返しを記録しなくなります。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.report-memleaks">
<term>
<parameter>report_memleaks</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
このパラメータを On (デフォルト) にすると、Zend メモリマネージャーが検出した
メモリリークの報告を表示します。この報告は、Posix プラットフォームでは標準エラー出力に送られます。
Windows では、デバッガに OutputDebugString() を使って送られ、
<link xlink:href="&url.dbgview;">DbgView</link> のようなツールで見ることができます。
このパラメータが使えるのはデバッグビルドだけであり、かつ
error_reporting で <constant>E_WARNING</constant> を有効にしている場合のみです。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.track-errors">
<term>
<parameter>track_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
有効にした場合、直近のエラーメッセージが、
<varname>$php_errormsg</varname>
変数に常に代入されます。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.html-errors">
<term>
<parameter>html_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
エラーメッセージのHTMLタグをオフにします。htmlエラー用の新しい形
式では、ユーザーがエラーまたはエラーを発生した関数を説明するページ
に導くようクリック可能なメッセージを出力します。これらのリファレ
ンスは、<link linkend="ini.docref-root">docref_root</link> およ
<link linkend="ini.docref-ext">docref_ext</link>の設定に依存
します。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-errors">
<term>
<parameter>xmlrpc_errors</parameter>
<type>boolean</type>
</term>
<listitem>
<para>
通常のエラー報告を無効にし、XML-RPC 形式のエラーメッセージとします。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.xmlrpc-error-number">
<term>
<parameter>xmlrpc_error_number</parameter>
<type>integer</type>
</term>
<listitem>
<para>
XML-RPC の faultCode 要素の値として使用します。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-root">
<term>
<parameter>docref_root</parameter>
<type>string</type>
</term>
<listitem>
<para>
新しいエラーフォーマットはエラーやエラーの原因となった関数に関するマニュアル
のページの情報を含んでいます。マニュアルのページによっては母国語でダウンロードが
可能であり、このiniディレクティブをマニュアルのローカルコピーのURLにセット
することができます。
マニュアルのローカルコピーが <literal>"/manual/"</literal> でアクセスできるとすると、単に
<userinput>docref_root=/manual/</userinput>とするだけです。
ローカルコピーのファイルの拡張子は<userinput>docref_ext=.html</userinput>
で指定できます。拡張リファレンスを使用することもできます。例えば
<userinput>docref_root=http://manual/en/</userinput>または
<userinput>docref_root="http://landonize.it/?how=url&amp;theme=classic&amp;filter=Landon&amp;url=http%3A%2F%2Fwww.php.net%2F"</userinput>が使用できます。
</para>
<para>
ほとんどの場合 docref_root の値の最後を <literal>"/"</literal> にしようと思うでしょう。
しかし上の二つ目の例を見ではその必要はありません。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.docref-ext">
<term>
<parameter>docref_ext</parameter>
<type>string</type>
</term>
<listitem>
<para>
<link linkend="ini.docref-root">docref_root</link>を参照して下さ
い。
</para>
<note>
<para>
docref_extの値はドット <literal>"."</literal> で始まる必要があります。
</para>
</note>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-prepend-string">
<term>
<parameter>error_prepend_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
エラーメッセージの前に出力する文字列。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-append-string">
<term>
<parameter>error_append_string</parameter>
<type>string</type>
</term>
<listitem>
<para>
エラーメッセージの後に出力する文字列。
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.error-log">
<term>
<parameter>error_log</parameter>
<type>string</type>
</term>
<listitem>
<para>
スクリプトエラーが記録されるファイル名です。
ファイルはウェブサーバーユーザーで書き込めなければなりません。
<literal>syslog</literal> が指定されると、エラーはファイルではなく
システムロガーに送られます。これは Unix では syslog(3) であり
Windows NT ではイベントログのことです。システムロガーは
Windows 95 ではサポートされていません。
<function>syslog</function> も参照してください。
このディレクティブが設定されていない場合、エラーは SAPI
エラーロガーに送信されます。これは、例えば Apache のエラーログ、
あるいは CLI なら <literal>stderr</literal> になります。
<function>error_log</function> も参照ください。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</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
-->