com doc/zh: 翻译 errors 章节: language/errors.xml language/errors/basics.xml
[email protected] (Dai Jie) Sun, 10 Jan 2021 10:09:50 +0000
| Newsgroups | php.doc.zh |
|---|---|
| Message-ID | <[email protected]> |
Commit: 39d430008a10723b1a26d61b5c7165911e1331f8 Author: 戴劼 <[email protected]> Sun, 10 Jan 2021 18:09:50 +0800 Parents: 80e9f4df452b2de80e6b2c1c5c03efec9ca41622 Branches: master Link: http://git.php.net/?p=doc/zh.git;a=commitdiff;h=39d430008a10723b1a26d61b5c7165911e1331f8 Log: 翻译 errors 章节 Changed paths: M language/errors.xml A language/errors/basics.xml Diff: diff --git a/language/errors.xml b/language/errors.xml index ede36c78..f79a44f0 100644 --- a/language/errors.xml +++ b/language/errors.xml @@ -4,13 +4,13 @@ <!-- Reviewed: no --> <chapter xml:id="language.errors" xmlns="http://docbook.org/ns/docbook" xmlns:phd="http://www.php.net/ns/phd"> - <title>Errors</title> + <title>错误</title> <sect1 phd:chunk="false" xml:id="language.errors.intro"> <title>介绍</title> <para> - 可悲的是,不管我们在写代码时多么小心,错误始终是有的。PHP将会为许多常见的我文件和运行问题提供错误,警告和一些通知,同时让我们知道如何检测和处理这些错误,使得调试程序容易的多。 + 可悲的是,不管我们在写代码时多么小心,错误始终是有的。PHP 会为许多常见的编码和运行问题报告错误、警告、通知。知道如何检测和处理这些错误,使得调试程序更容易。 </para> </sect1> diff --git a/language/errors/basics.xml b/language/errors/basics.xml new file mode 100644 index 00000000..01af6ddb --- /dev/null +++ b/language/errors/basics.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- $Revision$ --> +<!-- EN-Revision: 17624e47b98a93ec156a0c2a51ce7b9fd3116abe Maintainer: daijie Status: ready --> + +<sect1 xml:id="language.errors.basics" xmlns="http://docbook.org/ns/docbook"> + <title>基础该要</title> + + <para> + PHP 遇到一系列内部错误时,会报告出来作为应对。 + 它可以用来标示不同的情况,可以要求将错误显示出来或记录到日志中。 + </para> + + <para> + 每个 PHP 产生的错误都包含了类型。可查看 + <link linkend="errorfunc.constants">错误类型清单</link>,它附带了不同类型行为的简短描述和 + 产生的原因。 + </para> + + <sect2 xml:id="language.errors.basics.handling"> + <title>PHP 错误处理</title> + + <para> + 当未设置错误处理函数时,PHP 会根据配置处理所有出现的错误。 + php.ini 中 + <link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link> 的配置 + 或者是运行时调用 <function>error_reporting</function> 控制了哪些错误需要报告,哪些错误需要自动忽略。 + 由于有些错误会在运行用户脚本前就可能出现,所以强烈推荐用配置指令来设置。 + </para> + + <para> + 在开发环境里为了发现并修复 PHP 产生的问题, + 应该总是把 <link linkend="ini.error-reporting"><parameter>error_reporting</parameter></link> + 设置为 <constant>E_ALL</constant>。 + + 在生产环境里,用户可能为了降低信息的详细程度, + 想要将它设置为类似 <code>E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED</code>, + 但很多情况下 <constant>E_ALL</constant> 也同样适用,这样可以更早地警告潜在问题。 + </para> + + <para> + PHP 对这些错误的处理方式,取决于两个更深的 php.ini 指令。 + + <link linkend="ini.display-errors"><parameter>display_errors</parameter></link> + 控制了是否要将错位作为脚本输出的一部分显示。 + 在生产环境里应该禁用,因为可能包含类似数据库密码这样的敏感信息, + 而在开发环境中应该启用,能确保立即报告问题。 + </para> + + <para> + PHP 不仅能显示错误,还可以开启 <link linkend="ini.log-errors"><parameter>log_errors</parameter></link> + 指令来记录错误日志。它能根据 <link linkend="ini.error-log"><parameter>error_log</parameter></link> 的设置, + 记录任意错误到文件或者 syslog。 + 特别适用于生产环境,用户可以记录发生的错误,并根据这些错误生成报告。 + </para> + </sect2> + + <sect2 xml:id="language.errors.basics.user"> + <title>用户的错误处理器</title> + + <para> + 如果 PHP 默认错误处理器还不能满足要求,用户可以通过 <function>set_error_handler</function> + 设置自定义错误处理器,可处理很多类型的错误。 + 虽然有些类型的错误不能通过这种方式处理,但能处理的类型可以用脚本合适的方式处理: + 例如为用户显示自定义错误页面,同时以一种比日志更直接的方式上报错误,例如发送邮件。 + </para> + </sect2> +</sect1> + +<!-- 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 +-->