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>(若服务器 >= 6)或
- <filename>obj.conf</filename>(若服务器 < 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 >= 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 >= 4.3.3)作为附加的参数,可以在 &php.ini;
- 中添加一些特别的配置选项。例如可以设置
- <literal>docroot="/path/to/docroot"</literal> 指向
- <literal>php4_execute</literal> 被调用的上下文(context)。对于布尔 ini 键值,请使用 0/1 作为其值,而不是
- <literal>"On"、"Off"</literal> 等(它们是无效的),例如,使用
- <literal>zlib.output_compression=1</literal>,而不应使用
- <literal>zlib.output_compression="On"</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>"E"</literal>,因为不需要这里的环境变量):
- <programlisting>
-<![CDATA[
-variables_order = "GPCS"
-register_globals = On
-]]>
- </programlisting>
- </para>
- </sect2>
-
- <sect2 xml:id="install.unix.sun.specialpages">
- <title>错误页面及自造目录列表的特别使用 (PHP >= 4.3.3)</title>
- <para>
- 可以使用 PHP 为
- <literal>"404 Not Found"</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="magnus-internal/directory"</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 >= 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>(服务器版本 >= 6)或
- <filename>obj.conf</filename>(服务器版本 < 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 >= 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><Object name="default"></literal>
- 一节,在所有的“ObjectType”行之后和所有的“AddLog”行之前加上这一行:
- <programlisting>
-<![CDATA[
-Service fn="php4_execute" type="magnus-internal/x-httpd-php" [inikey=value inikey=value ...]
-]]>
- </programlisting>
- (PHP >= 4.3.3)作为附加参数可以加入一些特殊的 &php.ini; 值,例如可以在调用
- <literal>php4_execute</literal> 时设定专门的
- <literal>docroot="/path/to/docroot"</literal>。对于布尔的 ini 选项请用 0/1 作为值,而不是
- <literal>"On","Off",...</literal>(这样不能正确工作),例如要用
- <literal>zlib.output_compression=1</literal> 而不是
- <literal>zlib.output_compression="On"</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 脚本时死掉,建议在管理服务器中增大此值(在 "MAGNUS EDITOR" 一节中)。
- </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>"E"</literal>,因为这里不需要环境变量):
- <programlisting>
-<![CDATA[
-variables_order = "GPCS"
-register_globals = On
-]]>
- </programlisting>
- </para>
- </sect3>
-
- <sect3 xml:id="install.windows.legacy.sun.specialpages">
- <title>错误页面的特殊使用或定制目录列表(PHP >= 4.3.3)</title>
- <para>
- 可以用 PHP 来为 <literal>"404 Not Found"</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="magnus-internal/directory"</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 >= 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