com doc/zh: Sync with en: install/unix/sun.xml install/windows/legacy/sun.xml language-snippets.ent

[email protected] (Dai Jie) Thu, 14 Jan 2021 09:49:38 +0000
Newsgroups php.doc.zh
Message-ID <[email protected]>
Commit:    397eff79fc3b09029a8a69a7f7a3a85e6f83c17f
Author:    daijie <[email protected]>         Thu, 14 Jan 2021 17:49:38 +0800
Parents:   17b720a8692f26c7dc1ae20046e1c7ab5821ebf7
Branches:  master

Link:       http://git.php.net/?p=doc/zh.git;a=commitdiff;h=397eff79fc3b09029a8a69a7f7a3a85e6f83c17f

Log:
Sync with en

Changed paths:
  D  install/unix/sun.xml
  D  install/windows/legacy/sun.xml
  M  language-snippets.ent
diff_397eff79fc3b09029a8a69a7f7a3a85e6f83c17f.txt (text/plain, 40 KB)
diff --git a/install/unix/sun.xml b/install/unix/sun.xml
deleted file mode 100644
index e1a78b24..00000000
--- a/install/unix/sun.xml
+++ /dev/null
@@ -1,340 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision$ -->
-<!-- $Author$ -->
-<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26  Maintainer: class007 Status: ready -->
-<sect1 xml:id="install.unix.sun" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
- <title>Sun Solaris 上的 Sun、iPlanet 和 Netscape 服务器</title>
- <para>
-  本节包含了在 Sun Solaris 平台的 Sun Java System web Server、Sun ONE web Server、iPlanet
-  和 Netscape 下安装 PHP 的说明和提示。
- </para>
- <para>
-  从 PHP 4.3.3 起,可以使用基于 
-  <link linkend="ref.nsapi">NSAPI</link>模块 PHP 脚本来<link
-  linkend="install.unix.sun.specialpages">生成自定义目录列表和错误页面</link>。更多与
-  Apache 兼容的功能也可以使用。要了解如何在当前的 web
-  服务器中支持此功能,请阅读<link linkend="install.unix.sun.notes">关于子请求(subrequests)的注释</link>。
- </para>
- <para>
-  可以在下面的链接中了解更多关于在 Netscape Enterprise Server(NES)中设置 PHP
-  的信息:<link xlink:href="&url.netscape.nsapi;">&url.netscape.nsapi;</link>。
- </para>
- <para>要在 Sun JSWS/Sun ONE WS/iPlanet/Netscape web 服务器中编译 PHP,请为 
-  <link linkend="configure.with-nsapi">--with-nsapi=[DIR]</link>
-  输入合适的安装目录。默认的目录通常是 
-  <filename class="directory">/opt/netscape/suitespot/</filename>。还可以阅读 
-  <filename>/php-xxx-version/sapi/nsapi/nsapi-readme.txt</filename>。
- </para>
- <para>
-  <orderedlist>
-   <listitem>
-    <para>
-     从 <link xlink:href="&url.sun.freeware;">&url.sun.freeware;</link> 或其它下载站点安装下面的软件包:
-     <simplelist>
-      <member>
-       <filename>autoconf-2.13</filename>
-      </member>
-      <member>
-       <filename>automake-1.4</filename>
-      </member>
-      <member>
-       <filename>bison-1_25-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>flex-2_5_4a-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>gcc-2_95_2-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>gzip-1.2.4-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>m4-1_4-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>make-3_76_1-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>mysql-3.23.24-beta</filename>(如果想要 mysql 支持)</member>
-      <member>
-       <filename>perl-5_005_03-sol26-sparc-local</filename>
-      </member>
-      <member>
-       <filename>tar-1.13</filename>(GNU tar)
-      </member>
-     </simplelist>
-    </para>
-   </listitem>
-   <listitem>
-    <simpara>
-     请确认 PATH 变量包含适当的目录 
-     <literal>PATH=.:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ccs/bin</literal>,并使用
-     <userinput>export PATH</userinput>命令将其导出为环境变量。
-    </simpara>
-   </listitem>
-   <listitem>
-    <simpara>
-     <userinput>gunzip php-x.x.x.tar.gz</userinput>(如果使用 <filename>.gz</filename> 版本,否则跳到 4)
-   </simpara>
-   </listitem>
-   <listitem>
-    <simpara>
-     <userinput>tar xvf php-x.x.x.tar</userinput>
-    </simpara>
-   </listitem>
-   <listitem>
-    <simpara>进入 PHP 解压缩后的目录:
-     <userinput>cd ../php-x.x.x</userinput>
-    </simpara>
-   </listitem>
-   <listitem>
-    <para>在下面的步骤中,请确认 Netscape 服务器安装在 
-     <filename class="directory">/opt/netscape/suitespot/</filename>
-     目录中。否则,将下面命令中的该路径修改为正确的路径并运行:
-     <programlisting role="shell">
-<![CDATA[
-./configure --with-mysql=/usr/local/mysql \
---with-nsapi=/opt/netscape/suitespot/ \
---enable-libgcc
-]]>
-     </programlisting>
-    </para>
-   </listitem>
-   <listitem>
-    <simpara>
-     运行 <command>make</command>,然后运行 
-     <command>make install</command>。
-    </simpara>
-   </listitem>
-  </orderedlist>
- </para>
- <para>
-  在执行了基础的安装并阅读相应的 Readme 文件后,还需要执行一些额外的配置步骤。
- </para>
- <formalpara>
-  <title>Sun/iPlanet/Netscape 的配置说明</title>
-  <para>
-   首先需要为 
-   <varname>LD_LIBRARY_PATH</varname>
-   环境变量添加一些路径,以便服务器找到所需的共享库。可以使用 web 
-   服务器的启动脚本很好的完成这一工作。启动脚本通常位于:<filename
-   class="directory">/path/to/server/https-servername/start</filename>。或许需要编辑其配置文件,它位于:<filename
-   class="directory">/path/to/server/https-servername/config/</filename>。 
-   <orderedlist>
-    <listitem>
-     <para>
-      添加下面一行到 
-      <filename>mime.types</filename>(可以在管理服务器中添加):
-      <screen>
-<![CDATA[
-type=magnus-internal/x-httpd-php exts=php
-]]>
-      </screen>
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      编辑 <filename>magnus.conf</filename>(若服务器 &gt;= 6)或 
-      <filename>obj.conf</filename>(若服务器 &lt; 6)并添加下述内容。shlib 的值根据系统的配置会有所不同。它可能类似于 
-      <filename>/opt/netscape/suitespot/bin/libphp4.so</filename>。应该在 
-      <literal>mime types init</literal>后添加如下两行内容: 
-      <programlisting>
-<![CDATA[
-Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="/opt/netscape/suitespot/bin/libphp4.so"
-Init fn="php4_init" LateInit="yes" errorString="Failed to initialize PHP!" [php_ini="/path/to/php.ini"]
-]]>
-      </programlisting>
-      (PHP &gt;= 4.3.3)<literal>php_ini</literal>
-      参数是可选的。但是若使用它,便可以将 &php.ini; 放到 web 服务器的配置目录中去。
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      在 <filename>obj.conf</filename> 中配置默认对象(对于虚拟服务器的类 [版本 6.0+] 是在 
-      <filename>vserver.obj.conf</filename>中): 
-      <programlisting>
-<![CDATA[
-<Object name="default">
-.
-.
-.
-.#注意 下面一行添加在所有“ObjectType”之后,所有“AddLog”之前
-Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
-.
-.
-</Object>
-]]>
-      </programlisting>
-      (PHP &gt;= 4.3.3)作为附加的参数,可以在 &php.ini; 
-      中添加一些特别的配置选项。例如可以设置 
-      <literal>docroot=&quot;/path/to/docroot&quot;</literal> 指向 
-      <literal>php4_execute</literal> 被调用的上下文(context)。对于布尔 ini 键值,请使用 0/1 作为其值,而不是 
-      <literal>&quot;On&quot;、&quot;Off&quot;</literal> 等(它们是无效的),例如,使用 
-      <literal>zlib.output_compression=1</literal>,而不应使用 
-      <literal>zlib.output_compression=&quot;On&quot;</literal>。
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      本步骤仅在需要配置一个由 PHP 脚本组成的目录时由必要执行(类似于一个 
-      <filename class="directory">cgi-bin</filename>目录):
-      <programlisting>
-<![CDATA[
-<Object name="x-httpd-php">
-ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
-Service fn=php4_execute [inikey=value inikey=value ...]
-</Object>
-]]>
-      </programlisting>
-      之后,可以在管理服务器中配置一个目录,分配给它 
-      <literal>x-httpd-php</literal> 风格(style)。这样在该目录中的所有文件都会被当作
-      PHP 来执行。这样就能很方便的将 PHP 文件更名为 
-      <filename>.html</filename>以隐藏 PHP。
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      认证的设置:PHP 认证不能与其它任何类型的认证一起工作。所有认证被传递到
-      PHP 脚本。要为整个服务器配置 PHP 认证,在默认对象中添加下面一行:
-      <programlisting>
-<![CDATA[
-<Object name="default">
-AuthTrans fn=php4_auth_trans
-.
-.
-.
-</Object>
-]]>
-      </programlisting>
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      要在单一目录使用 PHP 认证,添加如下内容:
-      <programlisting>
-<![CDATA[
-<Object ppath="d:\path\to\authenticated\dir\*">
-AuthTrans fn=php4_auth_trans
-</Object>
-]]>
-      </programlisting>
-     </para>
-    </listitem>
-   </orderedlist>
-  </para>
- </formalpara>
- <note>
-  <para>
-   PHP 使用的堆栈大小取决于 web 服务器的配置。如果运行很大的
-   PHP 脚本时程序崩溃,推荐在 Admin Server(在“MAGNUS EDITOR”一节)中增大此项。
-  </para>
- </note>
- 
- <sect2 xml:id="install.unix.sun.phpini">
-  <title>CGI 环境和对 php.ini 推荐的修改</title>
-  <para>
-   当编写 PHP 脚本时,应特别注意 Sun JSWS/Sun ONE WS/iPlanet/Netscape
-   是一个多线程 web 服务器。因此,所有请求都运行在相同的进程空间(Web 
-   服务器自己的空间),该空间仅有一套环境变量。如果想获得 CGI
-   变量,例如 <literal>PATH_INFO</literal>、<literal>HTTP_HOST</literal>
-   等,使用原有的 PHP 3.x
-   的方式(<function>getenv</function>),或使用类似的方式(注册全局变量到环境变量,<varname>$_ENV</varname>),都是不可行的。只能获得运行中的 
-   web 服务器的环境变量,而不能获得任何有效的 CGI 变量!
-  </para>
-  <note>
-   <para>
-    为什么在环境中存在(无效的)CGI 变量?
-   </para>
-   <para>
-    答:这是因为从管理服务器中启动 web 服务器进程时,运行了 web
-    服务器的启动脚本,它事实上是一个 CGI 脚本(管理服务器中的一个 CGI
-    脚本!)。这便是为什么启动的 web 服务器包含一些 CGI 变量。可以尝试不从管理服务器启动
-    web 服务器,用 root 用户登录使用命令行手动启动它,会发现这些 CGI 形式的变量不复存在。
-   </para>
-  </note>
-  <para>
-   要在 PHP 4.x 中正确获得 CGI 变量,仅需修改脚本使用超级全局变量 
-   <varname>$_SERVER</varname>。如果老脚本中使用了 
-   <varname>$HTTP_HOST</varname> 等变量,应该在 &php.ini; 中打开 
-   <literal>register_globals</literal>,并且要修改变量顺序(注意:从中删除 
-   <literal>&quot;E&quot;</literal>,因为不需要这里的环境变量): 
-   <programlisting>
-<![CDATA[
-variables_order = "GPCS"
-register_globals = On
-]]>
-   </programlisting>
-  </para>
- </sect2>
-
- <sect2 xml:id="install.unix.sun.specialpages">
-  <title>错误页面及自造目录列表的特别使用 (PHP &gt;= 4.3.3)</title>
-  <para>
-   可以使用 PHP 为 
-   <literal>&quot;404 Not Found&quot;</literal> 或类似的错误代码生成错误页面。将下面几行添加到 
-   <filename>obj.conf</filename> 中以覆盖默认的错误页面: 
-   <programlisting>
-<![CDATA[
-Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
-]]>
-   </programlisting>
-   <literal>XXX</literal> 是 HTTP 错误代码。请删除任何可能干扰 
-   <literal>Error</literal> 设置的指令。如果想为所有可能存在的错误提供一个页面,则将 
-   <literal>code</literal> 参数删除。脚本可以通过 
-   <varname>$_SERVER['ERROR_TYPE']</varname> 获得 HTTP 状态代码。
-  </para>
-  <para>
-   另一种可能是生成自造目录列表。只要创建一个 PHP 脚本,来显示目录列表 并在 
-   <filename>obj.conf</filename> 中为 
-   <literal>type=&quot;magnus-internal/directory&quot;</literal> 将相应的默认 
-   <literal>Service</literal> 行替换为: 
-   <programlisting>
-<![CDATA[
-Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
-]]>
-   </programlisting>
-   错误和目录列表页面中,原始的 URI 和翻译的 URI 均被分别储存在 
-   <varname>$_SERVER['PATH_INFO']</varname> 和 
-   <varname>$_SERVER['PATH_TRANSLATED']</varname> 变量中。
-  </para>
- </sect2>
-
- <sect2 xml:id="install.unix.sun.notes">
-  <title>关于 <function>nsapi_virtual</function>和子请求的注意事项(PHP &gt;= 4.3.3)</title>
-  <para>
-   NSAPI 模块现在支持 
-   <function>nsapi_virtual</function> 函数(别名:
-   <function>virtual</function>),用来在 web 服务器上创建子请求(subrequests)和在
-   web 页面插入请求的结果。此函数使用了一些 NSAPI 中还没有文档说明的函数。在 Unix
-   下,该模块自动查找需要的函数,若它们存在则使用它们。若不存在,函数
-   <function>nsapi_virtual</function> 被禁用。
-  </para>
-  <note>
-   <para>
-    但是要注意,对 <function>nsapi_virtual</function> 的支持是试验性质的!
-   </para>
-  </note>
- </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
--->
\ No newline at end of file
diff --git a/install/windows/legacy/sun.xml b/install/windows/legacy/sun.xml
deleted file mode 100644
index 6d94424d..00000000
--- a/install/windows/legacy/sun.xml
+++ /dev/null
@@ -1,296 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision$ -->
-<!-- $Author$ -->
-<!-- Reviewed: yes Maintainer: dallas -->
-<!-- EN-Revision: 17fc359d7eb75d7d6199db77518924f2d351ed8b Maintainer: dallas Status: ready -->
-<sect2 xml:id="install.windows.legacy.sun" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
- <title>Microsoft Windows 下的 Sun,iPlanet 和 Netscape 服务器</title>
- <para>
-  本节包含针对在 Windows 下 Sun Java System web 服务器,Sun ONE web 服务器,iPlanet 和
-  Netscape 服务器的 PHP 安装说明与提示。
- </para>
- <para>
-  自 PHP 4.3.3 起可以通过 
-  <link linkend="ref.nsapi">NSAPI 模块</link>使用 PHP 脚本来<link
-  linkend="install.windows.legacy.sun.specialpages">产生定制目录列表于错误页面</link>。也可以使用为兼容
-  Apache 的附加函数。目前使用的 web 服务器的支持请阅读<link
-  linkend="install.windows.legacy.sun.notes">有关子请求的说明</link>。
- </para>
- 
- <sect3 xml:id="install.windows.legacy.sun.cgi">
-  <title>Sun,iPlanet 和 Netscape 服务器的 CGI 方式安装</title>
-  <para>
-   要将 PHP 安装为 CGI 处理器,按以下步骤进行:
-  </para>
-  <itemizedlist>
-   <listitem>
-    <simpara>
-     将 <filename>php4ts.dll</filename> 拷贝到 systemroot(即 Windows 的安装目录);
-    </simpara>
-   </listitem>
-   <listitem>
-    <para>
-     在命令行做文件关联,输入以下两行命令: 
-     <programlisting role="shell">
-<![CDATA[
-assoc .php=PHPScript
-ftype PHPScript=c:\php\php.exe %1 %*
-]]>
-     </programlisting>
-    </para>
-   </listitem>
-   <listitem>
-    <simpara>
-     在 Netscape Enterprise Administration Server 中建一个空的 shellcgi
-     目录并随即删除(此步骤在 obj.conf 中新建了 5 行重要指令以允许 web
-     服务器处理 shellcgi 脚本);
-    </simpara>
-   </listitem>
-   <listitem>
-    <simpara>
-     在 Netscape Enterprise Administration Server 中新建一个新的 MIME
-     类型(Category: type,Content-Type: magnus-internal/shellcgi,File Suffix: php);
-    </simpara>
-   </listitem>
-   <listitem>
-    <simpara>
-     对每个要运行 PHP 的 web 服务器实例都进行以上步骤。
-    </simpara>
-   </listitem>
-  </itemizedlist>
-  <para>
-   更多将 PHP 设置为 CGI 可执行程序的内容见:<link
-   xlink:href="&url.netscape.cgi;">&url.netscape.cgi;</link>。
-  </para>
- </sect3>
- 
- <sect3 xml:id="install.windows.legacy.sun.nsapi">
-  <title>Sun,iPlanet 和 Netscape 服务器的 NSAPI 方式</title>
-  <para>
-   要将 PHP 以 NSAPI 方式安装,按以下步骤进行:
-  </para>
-  <itemizedlist>
-   <listitem>
-    <simpara>
-     将 <filename>php4ts.dll</filename>拷贝到 systemroot(即 Windows 的安装目录);
-    </simpara>
-   </listitem>
-   <listitem>
-    <para>
-     在命令行做文件关联,输入以下两行命令: 
-     <programlisting role="shell">
-<![CDATA[
-assoc .php=PHPScript
-ftype PHPScript=c:\php\php.exe %1 %*
-]]>
-     </programlisting>
-    </para>
-   </listitem>
-   <listitem>
-    <simpara>
-     在 Netscape Enterprise Administration Server 中新建一个新的 MIME
-     类型(Category: type,Content-Type: magnus-internal/x-httpd-php,File Suffix: php);
-    </simpara>
-   </listitem>
-   <listitem>
-    <para>
-     编辑 <filename>magnus.conf</filename>(服务器版本 &gt;= 6)或 
-     <filename>obj.conf</filename>(服务器版本 &lt; 6)并加入下面两行;要将新行放在 
-     <literal>mime types init</literal>之后:
-     <programlisting>
-<![CDATA[
-Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll"
-Init fn="php4_init" LateInit="yes" errorString="Failed to initialise PHP!" [php_ini="c:/path/to/php.ini"]
-]]>
-     </programlisting>
-     (PHP &gt;= 4.3.3)<literal>php_ini</literal>
-     参数为可选项,但加上后就可以把 &php.ini; 放到 web 服务器的配置目录中去;
-    </para>
-   </listitem>
-   <listitem>
-    <para>
-     在 <filename>obj.conf</filename> 中配置默认对象(对于虚拟服务器类 [Sun web Server 6.0+]
-     是 <filename>vserver.obj.conf</filename>文件):在
-     <literal>&lt;Object name=&quot;default&quot;&gt;</literal>
-     一节,在所有的“ObjectType”行之后和所有的“AddLog”行之前加上这一行: 
-     <programlisting>
-<![CDATA[
-Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
-]]>
-     </programlisting>
-     (PHP &gt;= 4.3.3)作为附加参数可以加入一些特殊的 &php.ini; 值,例如可以在调用 
-     <literal>php4_execute</literal> 时设定专门的 
-     <literal>docroot=&quot;/path/to/docroot&quot;</literal>。对于布尔的 ini 选项请用 0/1 作为值,而不是 
-     <literal>&quot;On&quot;,&quot;Off&quot;,...</literal>(这样不能正确工作),例如要用 
-     <literal>zlib.output_compression=1</literal> 而不是 
-     <literal>zlib.output_compression=&quot;On&quot;</literal>;
-    </para>
-   </listitem>
-   <listitem>
-    <para>
-     这几行仅在想要配置一个只有 PHP 脚本的目录时需要(类似 cgi-bin 目录): 
-     <programlisting>
-<![CDATA[
-<Object name="x-httpd-php">
-ObjectType fn="force-type" type="magnus-internal/x-httpd-php"
-Service fn=php4_execute [inikey=value inikey=value ...]
-</Object>
-]]>
-     </programlisting>
-     在此之后可以在管理服务器中配置目录并将其类型设为 
-     <literal>x-httpd-php</literal>。其中的所有文件都将作为 PHP 执行。这样可以隐藏 PHP 的使用,文件名还保留为 
-     <filename>.html</filename>;
-    </para>
-   </listitem>
-   <listitem>
-    <simpara>
-     重启动 web 服务使改动生效;
-    </simpara>
-   </listitem>
-   <listitem>
-    <simpara>
-     对每个要运行 PHP 的 web 服务器实例都进行以上步骤。
-    </simpara>
-   </listitem>
-  </itemizedlist>
-  <note>
-   <para>
-    更多将 PHP 设置为 NSAPI内容见:<link
-    xlink:href="&url.netscape.nsapi;">&url.netscape.nsapi;</link>。
-   </para>
-  </note>
-  <note>
-   <para>
-    PHP 使用的堆栈大小(stacksize)依赖于 web 服务器的配置。如果在运行很大的
-    PHP 脚本时死掉,建议在管理服务器中增大此值(在 &quot;MAGNUS EDITOR&quot; 一节中)。
-   </para>
-  </note>
- </sect3>
- 
- <sect3 xml:id="install.windows.legacy.sun.phpini">
-  <title>CGI 环境以及推荐在 php.ini 中进行的修改</title>
-  <para>
-   在写 PHP 脚本时很重要一点是 Sun JSWS/Sun ONE WS/iPlanet/Netscape
-   是多线程 web 服务器。因此所有的请求都运行于同一个进程空间(即 web
-   服务器自己的空间)而此空间只有一个环境。如果想取得 CGI
-   变量例如 <literal>PATH_INFO</literal>,<literal>HTTP_HOST</literal>
-   等时不能用老的 PHP 3.x 的方式 <function>getenv</function>
-   或者类似手段(<literal>$_ENV</literal>)进行。只能取得运行的 web
-   服务器的环境变量而没有任何有效的 CGI 变量!
-  </para>
-  <note>
-   <para>
-    为什么环境中有一些(无效的)CGI 变量?
-   </para>
-   <para>
-    解答:这是因为从管理服务器启动了 web 服务器进程,这将运行 web
-    服务器的启动脚本,而你想要启动的是 CGI 脚本(CGI 脚本在管理服务器内部!)。这是为什么
-    web 服务器启动的环境中有一些 CGI 环境变量的原因。可以不从管理服务器启动 web
-    服务器来试验一下。用管理员用户从命令行手工启动——这样就不会看到类似 CGI 的环境变量了。
-   </para>
-  </note>
-  <para>
-   PHP 4.x 中取得 CGI 变量的正确方式是使用超全局变量 
-   <varname>$_SERVER</varname>。如果有一些老的脚本用了 
-   <varname>$HTTP_HOST</varname> 等,那应该在 &php.ini; 中打开 
-   <literal>register_globals</literal> 选项并改变变量顺序(重要提示:去掉 
-   <literal>&quot;E&quot;</literal>,因为这里不需要环境变量): 
-   <programlisting>
-<![CDATA[
-variables_order = "GPCS"
-register_globals = On
-]]>
-   </programlisting>
-  </para>
- </sect3>
- 
- <sect3 xml:id="install.windows.legacy.sun.specialpages">
-  <title>错误页面的特殊使用或定制目录列表(PHP &gt;= 4.3.3)</title>
-  <para>
-   可以用 PHP 来为 <literal>&quot;404 Not Found&quot;</literal> 
-   或类似的错误提示生成错误页面。对每个想要覆盖的错误页面在 
-   <filename>obj.conf</filename> 中的对象里加入下面这行: 
-   <programlisting>
-<![CDATA[
-Error fn="php4_execute" code=XXX script="/path/to/script.php" [inikey=value inikey=value...]
-]]>
-   </programlisting>
-   其中的 <literal>XXX</literal> 是 HTTP 错误代码。删除掉可能干扰到自己设置的任何其它 
-   <literal>Error</literal> 指令。如果对所有可能出现的错误都用同一个脚本处理,不要 
-   <literal>code</literal> 参数即可。脚本里可以用 
-   <varname>$_SERVER['ERROR_TYPE']</varname> 取得 HTTP 状态代码。
-  </para>
-  <para>
-   还可以生成自己定制的目录列表。只要创建一个显示目录列表的 PHP 脚本并用下面一行在 
-   <filename>obj.conf</filename> 中替换掉相应 
-   <literal>type=&quot;magnus-internal/directory&quot;</literal> 默认的 Service 设置: 
-   <programlisting>
-<![CDATA[
-Service fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php" [inikey=value inikey=value...]
-]]>
-   </programlisting>
-   对于错误和目录列表页面,原始的 URI 和转换后的 URI 都在变量 
-   <varname>$_SERVER['PATH_INFO']</varname> 和 
-   <varname>$_SERVER['PATH_TRANSLATED']</varname> 中。
-  </para>
- </sect3>
- 
- <sect3 xml:id="install.windows.legacy.sun.notes">
-  <title>有关 <function>nsapi_virtual</function>和子请求(PHP &gt;= 4.3.3)的说明</title>
-  <para>
-   NSAPI 模块现在支持 <function>nsapi_virtual</function>
-   函数(别名:<function>virtual</function>)来进行子请求并将结果插入到 web
-   页面里。问题是,此函数用到了一些 NSAPI 库中没有文档说明的特性。
-  </para>
-  <para>
-   在 Unix 下这不是问题,因为模块会自动寻找所需的函数并使用。如果找不到,<function>nsapi_virtual</function>
-   被禁用。
-  </para>
-  <para>
-   在 Windows 下 DLL 处理的局限性需要使用最新的 
-   <filename>ns-httpdXX.dll</filename> 文件中的自动检测功能。这已在版本 6.1
-   及以下的服务器中测试过。如果用了更高版本的 Sun 服务器,检测会失败并禁用 
-   <function>nsapi_virtual</function>。
-  </para>
-  <para>
-   在这种情况下,试试下面的方法。在 <filename>magnus.conf</filename>/<filename>obj.conf</filename>
-   中的 <literal>php4_init</literal> 里加入下面的参数: 
-   <programlisting>
-<![CDATA[
-Init fn=php4_init ... server_lib="ns-httpdXX.dll"
-]]>
-   </programlisting>
-   其中 <literal>XX</literal> 是正确的 DLL 版本号。在 server-root 目录下去找合适的
-   DLL 的名字。文件大小最大的 DLL 就是了。
-  </para>
-  <para>
-   可以用 <function>phpinfo</function> 函数来检查状态。
-  </para>
-  <note>
-   <para>
-    但要注意:对 <function>nsapi_virtual</function> 的支持是试验性质的!
-   </para>
-  </note>
- </sect3>
- 
-</sect2>
-<!-- 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
--->
diff --git a/language-snippets.ent b/language-snippets.ent
index 6b1f6dac..47f840b3 100644
--- a/language-snippets.ent
+++ b/language-snippets.ent
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- $Revision$ -->
-<!-- EN-Revision: 6fa29283c5861ccb1f9da74fb252f80e01d27668 Maintainer: Gregory Status: ready -->
+<!-- EN-Revision: d278431ef5e561787093a7b2679327a615b09367 Maintainer: Gregory Status: ready -->
 <!-- Reviewed: yes -->
 <!-- CREDITS: dallas -->
 <!-- 请保持此文件与英文文件中相应的每个 ENTITY 行号一一对应以便于对照,修改与更新! -->
@@ -238,6 +238,10 @@ xmlns="http://docbook.org/ns/docbook"><simpara>本特性已自 PHP 7.2.0
 xmlns="http://docbook.org/ns/docbook"><simpara>本函数已自 PHP 7.2.0
 起<emphasis>废弃</emphasis>。强烈建议不要使用本函数。</simpara></warning>'>
 
+<!ENTITY warn.deprecated.function-7-2-0.removed-8-0-0 '<warning
+ xmlns="http://docbook.org/ns/docbook"><simpara>本函数已自 PHP 7.2.0
+ 起被<emphasis>废弃</emphasis>,并自 PHP 8.0.0 起被<emphasis>移除</emphasis>。
+ 强烈建议不要依赖本函数。</simpara></warning>'>
 
 <!ENTITY warn.deprecated.feature-7-3-0 '<warning
 xmlns="http://docbook.org/ns/docbook"><simpara>本特性已自 PHP 7.3.0
@@ -258,6 +262,9 @@ xmlns="http://docbook.org/ns/docbook"><simpara>本特性已自 PHP 7.4.0
 xmlns="http://docbook.org/ns/docbook"><simpara>本函数已自 PHP 7.4.0
 起<emphasis>废弃</emphasis>。强烈建议不要使用本函数。</simpara></warning>'>
 
+<!ENTITY warn.deprecated.function-8-0-0 '<warning
+ xmlns="http://docbook.org/ns/docbook"><simpara>本函数已自 PHP 8.0.0
+ 起被<emphasis>废弃</emphasis>。强烈建议不要依赖本函数。</simpara></warning>'>
 
 <!ENTITY removed.php.future '本过时特性<emphasis
 xmlns="http://docbook.org/ns/docbook">将</emphasis>肯定会在未来被<emphasis xmlns="http://docbook.org/ns/docbook">移除</emphasis>。'>
@@ -318,8 +325,14 @@ xmlns="http://docbook.org/ns/docbook"><simpara>该函数已在 PHP 7.0.0 中
 xmlns="http://docbook.org/ns/docbook"><simpara>该函数已在 PHP 7.4.0 中
 <emphasis>移除</emphasis>。</simpara></warning>'>
 
-<!ENTITY warn.deprecated.alias-7-4-0.removed-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>This alias was
-<emphasis>DEPRECATED</emphasis> in PHP 7.4.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0.</simpara></warning>'>
+<!ENTITY warn.deprecated.alias-7-4-0.removed-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>该别名已在 PHP 7.4.0 中
+<emphasis>废弃</emphasis>,并且自 PHP 8.0.0 起已被<emphasis>移除</emphasis>。</simpara></warning>'>
+
+<!ENTITY warn.deprecated.alias-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>该别名已在 PHP 8.0.0 中
+ <emphasis>废弃</emphasis>。</simpara></warning>'>
+
+<!ENTITY warn.removed.alias-8-0-0 '<warning xmlns="http://docbook.org/ns/docbook"><simpara>该别名已在 PHP 8.0.0 中被
+ <emphasis>移除</emphasis>。</simpara></warning>'>
 
 <!ENTITY warn.experimental.func '<warning xmlns="http://docbook.org/ns/docbook"><simpara>此函数是<emphasis>实验性</emphasis>的。此函数的表象,包括名称及其相关文档都可能在未来的
 PHP 发布版本中未通知就被修改。使用本函数风险自担。</simpara></warning>'>
@@ -517,6 +530,53 @@ PHP 4.3.7 及更高版本可以在使用 <literal>https://</literal> 包装器
 
 <!ENTITY seealso.array.sorting '<link xmlns="http://docbook.org/ns/docbook" linkend="array.sorting">数组排序函数对比</link>'>
 
+<!ENTITY sort.flags.parameter '<varlistentry xmlns="http://docbook.org/ns/docbook">
+  <term><parameter>flags</parameter></term>
+  <listitem>
+  <para>
+    The optional second parameter <parameter>flags</parameter>
+    may be used to modify the sorting behavior using these values:
+  </para>
+  <para>
+    Sorting type flags:
+    <itemizedlist>
+    <listitem>
+      <simpara><constant>SORT_REGULAR</constant> - compare items normally;
+      the details are described in the <link linkend="language.operators.comparison">comparison operators</link> section</simpara>
+    </listitem>
+    <listitem>
+      <simpara><constant>SORT_NUMERIC</constant> - compare items numerically</simpara>
+    </listitem>
+    <listitem>
+      <simpara><constant>SORT_STRING</constant> - compare items as strings</simpara>
+    </listitem>
+    <listitem>
+      <simpara>
+      <constant>SORT_LOCALE_STRING</constant> - compare items as
+      strings, based on the current locale. It uses the locale,
+      which can be changed using <function>setlocale</function>
+      </simpara>
+    </listitem>
+    <listitem>
+      <simpara>
+      <constant>SORT_NATURAL</constant> - compare items as strings
+      using "natural ordering" like <function>natsort</function>
+      </simpara>
+    </listitem>
+    <listitem>
+      <simpara>
+      <constant>SORT_FLAG_CASE</constant> - can be combined
+      (bitwise OR) with
+      <constant>SORT_STRING</constant> or
+      <constant>SORT_NATURAL</constant> to sort strings case-insensitively
+      </simpara>
+    </listitem>
+    </itemizedlist>
+  </para>
+  </listitem>
+</varlistentry>
+'>
+
 <!ENTITY avail.register-long-arrays '自 PHP 5.0.0 起, 用
 <link xmlns="http://docbook.org/ns/docbook" linkend="ini.register-long-arrays">register_long_arrays</link> 设置选项可禁用
 长类型的 PHP <link xmlns="http://docbook.org/ns/docbook" linkend="language.variables.predefined">预定义变量</link>数组。'>
@@ -903,7 +963,7 @@ dbm_identifier</parameter></term><listitem><para>DBM 链接标识符,由 <func
 <!-- IMAP notes -->
 
 <!ENTITY imap.imap-stream.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
-imap_stream</parameter></term><listitem><para>由 <function>imap_open</function> 返回的 IMAP 流。</para></listitem></varlistentry>'>
+imap</parameter></term><listitem><para>由 <function>imap_open</function> 返回的 IMAP 流。</para></listitem></varlistentry>'>
 
 
 <!ENTITY imap.pattern '<para xmlns="http://docbook.org/ns/docbook">指定在邮箱层级的何处开始查找。</para>
@@ -936,6 +996,22 @@ Passing untrusted data to this parameter is <emphasis>insecure</emphasis>, unles
 
 <!ENTITY intl.property.example 'Testing different properties'>
 
+<!-- LDAP notes -->
+<!ENTITY ldap.warn.control-paged '<warning xmlns="http://docbook.org/ns/docbook">
+  <simpara>
+    This function has been <emphasis>DEPRECATED</emphasis> as of PHP 7.4.0, and <emphasis>REMOVED</emphasis> as of PHP 8.0.0.
+    Instead the <parameter>controls</parameter> parameter of <function>ldap_search</function> should be used.
+    See also <link linkend="ldap.controls">LDAP Controls</link> for details.
+  </simpara>
+</warning>'>
+
+<!ENTITY ldap.changelog.controls-nullable '<row xmlns="http://docbook.org/ns/docbook">
+<entry>8.0.0</entry>
+<entry>
+  <parameter>controls</parameter> is nullable now; previously, it defaulted to <literal>[]</literal>.
+</entry>
+</row>'>
+
 <!-- mbstring notes -->
 
 <!ENTITY note.mbstring.encoding.internal '<note xmlns="http://docbook.org/ns/docbook"><para><function>mb_regex_encoding</function>
@@ -947,11 +1023,18 @@ character encoding specified by <function>mb_regex_encoding</function>
 will be used as the character encoding for this function by default.</para></note>'>
 
 <!ENTITY mbstring.encoding.parameter '<para xmlns="http://docbook.org/ns/docbook"><parameter>encoding</parameter>
-参数为字符编码。如果省略,则使用内部字符编码。</para>'>
+参数为字符编码。如果省略或是 &null;,则使用内部字符编码。</para>'>
 
 <!ENTITY mbstring.warning.e-modifier '<warning xmlns="http://docbook.org/ns/docbook"><para>处理非信任的输入时从不使用
 <literal>e</literal> 修饰符,就不会转码(即调用 <function>preg_replace</function>)。不注意这些会很可能会导致应用程序引发远程代码执行的漏洞。</para></warning>'>
 
+<!ENTITY mbstring.changelog.encoding-nullable '<row xmlns="http://docbook.org/ns/docbook">
+  <entry>8.0.0</entry>
+  <entry>
+   现在 <parameter>encoding</parameter> 可以为 null。
+  </entry>
+ </row>'>
+
 <!-- mcrypt notes -->
 
 <!ENTITY mcrypt.parameter.cipher '<para xmlns="http://docbook.org/ns/docbook"><constant>MCRYPT_ciphername</constant> 常量中的一个,或者是字符串值的算法名称。</para>'>
@@ -1063,7 +1146,7 @@ It is strongly recommended to avoid timezone abbreviations.
 
 <!ENTITY date.timestamp.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>timestamp</parameter></term><listitem><para>
 可选的 <parameter>timestamp</parameter> 参数是一个 <type>int</type> 的 Unix
-时间戳,如未指定,参数值默认为当前本地时间。也就是说,其值默认为
+时间戳,如未指定或是 &null;,参数值默认为当前本地时间。也就是说,其值默认为
 <function>time</function> 的返回值。</para></listitem></varlistentry>'>
 
 
@@ -1534,7 +1617,7 @@ result</parameter></term><listitem><para>由 <function>fbsql_query</function>
 
 <!-- GMP Notes -->
 <!ENTITY gmp.return '<classname xmlns="http://docbook.org/ns/docbook">GMP</classname> 对象。'>
-<!ENTITY gmp.parameter '<para xmlns="http://docbook.org/ns/docbook">PHP 5.5 之前为 GMP 数值<type>资源</type>,PHP 5.6 之后为 <classname>GMP</classname> 对象或数字,或可以转为数字的字符串。</para>'>
+<!ENTITY gmp.parameter '<classname>GMP</classname> 对象或 &integer; ,或数字&string;。</para>'>
 
 <!-- MySQLi Notes -->
 <!ENTITY mysqli.result.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term><parameter>
@@ -1557,9 +1640,10 @@ linkend="book.mysqlnd">mysqlnd</link>。'>
 之前先调用 <function>mysqli_options</function> 来指定。</para></note>'>
 
 <!-- Notes for SAPI/Apache -->
-<!ENTITY apache.req.module '<simpara xmlns="http://docbook.org/ns/docbook">仅在将 PHP
-安装在 Netscape/iPlanet/SunONE Web 服务器,并以 Apache 模块运行时,才支持此函数。参考
-<link linkend="book.nsapi">NSAPI server module</link>。</simpara>'>
+<!ENTITY apache.req.module '<simpara xmlns="http://docbook.org/ns/docbook">仅在
+ PHP 以 Apache 模块运行时,才支持此函数。
+ 
+ </simpara>'>
 
 <!-- SimpleXML Notes -->
 <!ENTITY simplexml.iteration '<note xmlns="http://docbook.org/ns/docbook"><simpara>SimpleXML
@@ -1988,6 +2072,24 @@ xmlwriter</parameter></term><listitem><para>仅用于过程调用。被修改的
 <function>PharFileInfo::isCompressed</function>,<function>PharFileInfo::decompress</function> 和
 <function>PharFileInfo::compress</function>替代。</para></note>'>
 
+<!ENTITY phar.note.performance '<note xmlns="http://docbook.org/ns/docbook">
+<simpara>
+  <function>Phar::addFile</function>, <function>Phar::addFromString</function> and <function>Phar::offsetSet</function>
+  save a new phar archive each time they are called. If performance is a concern,
+  <function>Phar::buildFromDirectory</function> or <function>Phar::buildFromIterator</function>
+  should be used instead.
+</simpara>
+</note>'>
+
+<!ENTITY phardata.note.performance '<note xmlns="http://docbook.org/ns/docbook">
+<simpara>
+  <function>PharData::addFile</function>, <function>PharData::addFromString</function> and <function>PharData::offsetSet</function>
+  save a new phar archive each time they are called. If performance is a concern,
+  <function>PharData::buildFromDirectory</function> or <function>PharData::buildFromIterator</function>
+  should be used instead.
+</simpara>
+</note>'>
+
 <!-- XML -->
 <!ENTITY libxml.required '<para xmlns="http://docbook.org/ns/docbook">此扩展需要
 <link linkend="book.libxml">libxml</link> PHP 扩展。这表示需要使用
@@ -2309,8 +2411,7 @@ used.</para>'>
           <entry><type>array</type></entry>
           <entry>
            <para>
-            A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently <literal>aws</literal> or <literal>local</literal>are supported and at least one must be specified.
-           </para>
+            A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Currently <literal>aws</literal> or <literal>local</literal> are supported and at least one must be specified.           </para>
            <para>
             The format for <literal>aws</literal> is as follows:
            </para>
@@ -2610,18 +2711,15 @@ local: {
  </para>
 
  <para xmlns="http://docbook.org/ns/docbook">
-  If omitted, the default value of the <parameter>encoding</parameter> varies
-  depending on the PHP version in use. In PHP 5.6 and later, the
+  If omitted, <parameter>encoding</parameter> defaults to the value of the
   <link linkend="ini.default-charset">default_charset</link> configuration
-  option is used as the default value. PHP 5.4 and 5.5 will use
-  <literal>UTF-8</literal> as the default. Earlier versions of PHP use
-  <literal>ISO-8859-1</literal>.
+  option.
  </para>
 
  <para xmlns="http://docbook.org/ns/docbook">
   Although this argument is technically optional, you are highly encouraged to
-  specify the correct value for your code if you are using PHP 5.5 or earlier,
-  or if your <link linkend="ini.default-charset">default_charset</link>
+  specify the correct value for your code
+  if the <link linkend="ini.default-charset">default_charset</link>
   configuration option may be set incorrectly for the given input.
  </para>
 '>
@@ -2849,6 +2947,20 @@ local: {
        </entry>
       </row>
       <row>
+        <entry><literal>h</literal></entry>
+        <entry>
+         Like the <literal>g</literal> specifier but uses <literal>F</literal>.
+         Available as of PHP 8.0.0.
+        </entry>
+       </row>
+       <row>
+        <entry><literal>H</literal></entry>
+        <entry>
+         Like the <literal>g</literal> specifier but uses
+         <literal>E</literal> and <literal>F</literal>. Available as of PHP 8.0.0.
+        </entry>
+      </row>
+      <row>
        <entry><literal>o</literal></entry>
        <entry>
         The argument is treated as an integer and presented
@@ -2948,7 +3060,7 @@ local: {
 
 <!ENTITY strings.parameter.needle.non-string '
  <para xmlns="http://docbook.org/ns/docbook">
-  If <parameter>needle</parameter> is not a string, it is converted
+  Prior to PHP 8.0.0, if <parameter>needle</parameter> is not a string, it is converted
   to an integer and applied as the ordinal value of a character.
   This behavior is deprecated as of PHP 7.3.0, and relying on it is highly
   discouraged. Depending on the intended behavior, the