Skip to content

Commit

Permalink
Update install/bc/curl/datetime
Browse files Browse the repository at this point in the history
  • Loading branch information
mowangjuanzi committed Dec 2, 2024
1 parent 8385f3c commit da9f47d
Show file tree
Hide file tree
Showing 8 changed files with 277 additions and 77 deletions.
31 changes: 12 additions & 19 deletions install/ini.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: d5d10b38b4395e77827b04d5290bb137bd3872b4 Maintainer: dallas Status: ready -->
<!-- EN-Revision: 9ab074d32484672f93e5d822f42fb94ae9088207 Maintainer: dallas Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<chapter xml:id="configuration" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>运行时配置</title>
Expand Down Expand Up @@ -84,20 +84,20 @@
&php.ini;,如果存在的话。
</para>
</note>
<para>
&php.ini; 中可以使用环境变量,如下示例:
</para>
<para>
<example>
<title>&php.ini; 中的环境变量</title>
<programlisting role="ini">
<simpara>
可以在如下所示的 &php.ini; 配置值中引用环境变量。自 PHP 8.3.0 起,可以指定一个后备值,当引用的变量未定义时使用该值。
</simpara>
<example>
<title>&php.ini; 中的环境变量</title>
<programlisting role="ini">
<![CDATA[
; PHP_MEMORY_LIMIT 来自于环境变量的值
memory_limit = ${PHP_MEMORY_LIMIT}
; 如果 PHP_MAX_EXECUTION_TIME 未定义,将回退到 30
max_execution_time = ${PHP_MAX_EXECUTION_TIME:-30}
]]>
</programlisting>
</example>
</para>
</programlisting>
</example>
<para>
由扩展库处理的 &php.ini; 指令,其文档分别在各扩展库的页面。<link
linkend="ini">内核配置选项</link>见附录。不过也许不是所有的 PHP
Expand All @@ -107,7 +107,7 @@ memory_limit = ${PHP_MEMORY_LIMIT}
</para>
<para>
<example>
<title>&php.ini; 例子</title>
<title>&php.ini; 示例</title>
<programlisting role="ini">
<![CDATA[
; any text on a line after an unquoted semicolon (;) is ignored
Expand All @@ -125,13 +125,6 @@ include_path = ".:/usr/local/lib/php"
include_path = ".;c:\php\lib"
]]>
</programlisting>







<!-- TODO: add more details about values and expressions -->
</example>
</para>
Expand Down
43 changes: 41 additions & 2 deletions language-snippets.ent
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: Gregory Status: ready -->
<!-- EN-Revision: ed1aff13602c94f86344bdd7c4fbc31f5a71bf84 Maintainer: Gregory Status: ready -->
<!-- CREDITS: dallas, mowangjuanzi, Luffy -->
<!-- 请保持此文件与英文文件中相应的每个 ENTITY 行号一一对应以便于对照,修改与更新! -->

Expand Down Expand Up @@ -1820,9 +1820,15 @@ It is strongly recommended to avoid timezone abbreviations.
<!ENTITY haru.error '<para xmlns="http://docbook.org/ns/docbook">发生错误时抛出 <classname>HaruException</classname> 异常。</para>'>

<!-- ODBC -->
<!ENTITY odbc.connection.id '<para xmlns="http://docbook.org/ns/docbook">ODBC 连接标识符,详见
<!ENTITY odbc.connection.id '<para xmlns="http://docbook.org/ns/docbook">ODBC 连接对象,详见
<function>odbc_connect</function>。</para>'>

<!ENTITY odbc.result.object 'ODBC 结果对象'>

<!ENTITY odbc.result.object-return '返回 ODBC 结果对象'>

<!ENTITY odbc.result.object-return-falseforfailure '&odbc.result.object-return;&return.falseforfailure;。'>

<!ENTITY odbc.parameter.catalog 'The catalog (&apos;qualifier&apos; in ODBC 2 parlance).'>

<!ENTITY odbc.parameter.schema 'The schema (&apos;owner&apos; in ODBC 2 parlance).'>
Expand All @@ -1833,6 +1839,39 @@ It is strongly recommended to avoid timezone abbreviations.

<!ENTITY odbc.result.driver-specific 'Drivers can report additional columns.'>

<!ENTITY odbc.changelog.connection-param '<row xmlns="http://docbook.org/ns/docbook">
<entry>8.4.0</entry>
<entry>
<parameter>odbc</parameter> 现在需要 <classname>Odbc\Connection</classname>
实例;之前需要 <type>resource</type>。
</entry>
</row>'>

<!ENTITY odbc.changelog.connection-return '&odbc.changelog.connection-param;
<row xmlns="http://docbook.org/ns/docbook">
<entry>8.4.0</entry>
<entry>
此函数现在返回 <classname>Odbc\Connection</classname> 实例;之前返回
<type>resource</type>。
</entry>
</row>'>

<!ENTITY odbc.changelog.result-param '<row xmlns="http://docbook.org/ns/docbook">
<entry>8.4.0</entry>
<entry>
<parameter>statement</parameter> 现在需要 <classname>Odbc\Result</classname>
实例;之前需要 <type>resource</type>。
</entry>
</row>'>

<!ENTITY odbc.changelog.result-return '<row xmlns="http://docbook.org/ns/docbook">
<entry>8.4.0</entry>
<entry>
此函数现在返回 <classname>Odbc\Result</classname>
实例;之前返回 <type>resource</type>。
</entry>
</row>'>

<!-- OAUTH -->
<!ENTITY oauth.callback.error '如回调函数无法被调用或未被指定,会引发一个
<constant xmlns="http://docbook.org/ns/docbook">E_ERROR</constant> 级别的错误。'>
Expand Down
20 changes: 7 additions & 13 deletions reference/bc/functions/bcdiv.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 87f32875a189be7ee2a8487c0db3958579e4ce72 Maintainer: jakquan Status: ready -->
<!-- EN-Revision: ddb05f8827151e25dd1c3e058f95f6c024bc881b Maintainer: jakquan Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.bcdiv" xmlns="http://docbook.org/ns/docbook">
<refentry xml:id="function.bcdiv" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
<refnamediv>
<refname>bcdiv</refname>
<refpurpose>两个任意精度的数字除法计算</refpurpose>
Expand All @@ -16,9 +16,9 @@
<methodparam><type>string</type><parameter>num2</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<simpara>
<parameter>num1</parameter> 除以 <parameter>num2</parameter>。
</para>
</simpara>
</refsect1>

<refsect1 role="parameters">
Expand Down Expand Up @@ -54,14 +54,8 @@
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<para>
函数在下列情况会抛出 <exceptionname>ValueError</exceptionname>:
<simplelist>
<member><parameter>num1</parameter> 或 <parameter>num2</parameter> 不是格式正确的 BCMath 数字字符串</member>
<member><parameter>scale</parameter> 超出有效范围</member>
</simplelist>
</para>
<!-- Include standard ValueErrors for num1, num2, and scale, this includes the title -->
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('function.bcadd')/db:refsect1[@role='errors']/*)" />
<simpara>
如果 <parameter>num2</parameter> 为 <literal>0</literal>,此函数会抛出 <exceptionname>DivisionByZeroError</exceptionname> 异常。
</simpara>
Expand All @@ -87,7 +81,7 @@
<row>
<entry>8.0.0</entry>
<entry>
现在,除以 0 会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常,而不是返回 &null;
现在,除以 <literal>0</literal> 会引发 <exceptionname>DivisionByZeroError</exceptionname> 异常,而不是返回 &null;
</entry>
</row>
</tbody>
Expand Down
66 changes: 43 additions & 23 deletions reference/curl/functions/curl-multi-exec.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: b7f8c11e56ff1c57a2993e2ed7e5c5ace18637fd Maintainer: dallas Status: ready -->
<!-- EN-Revision: 2ebb9660d47e648a28007960bf059d1f691c7f21 Maintainer: dallas Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.curl-multi-exec" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
Expand Down Expand Up @@ -73,40 +73,60 @@
<example>
<title><function>curl_multi_exec</function> 示例</title>
<para>
这个范例将会创建 2 个 cURL 句柄,把它们加到批处理句柄,然后并行处理它们。
此示例将为 URL 列表创建 cURL 句柄,把它们加到批处理句柄,然后并行处理它们。
</para>
<programlisting role="php">
<![CDATA[
<?php
// 创建一对cURL资源
$ch1 = curl_init();
$ch2 = curl_init();
// 设置URL和相应的选项
curl_setopt($ch1, CURLOPT_URL, "http://example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);
$urls = [
"https://www.php.net/",
"https://www.example.com/",
];
// 创建批处理cURL句柄
$mh = curl_multi_init();
$map = new WeakMap();
// 增加2个句柄
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
foreach ($urls as $url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($mh, $ch);
$map[$ch] = $url;
}
// 执行批处理句柄
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
// Wait a short time for more activity
curl_multi_select($mh);
$status = curl_multi_exec($mh, $unfinishedHandles);
if ($status !== CURLM_OK) {
throw new \Exception(curl_multi_strerror(curl_multi_errno($mh)));
}
} while ($active && $status == CURLM_OK);
// 关闭全部句柄
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
while (($info = curl_multi_info_read($mh)) !== false) {
if ($info['msg'] === CURLMSG_DONE) {
$handle = $info['handle'];
curl_multi_remove_handle($mh, $handle);
$url = $map[$handle];
if ($info['result'] === CURLE_OK) {
$statusCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
echo "Request to {$url} finished with HTTP status {$statusCode}:", PHP_EOL;
echo curl_multi_getcontent($handle);
echo PHP_EOL, PHP_EOL;
} else {
echo "Request to {$url} failed with error: ", PHP_EOL;
echo curl_strerror($info['result']);
echo PHP_EOL, PHP_EOL;
}
}
}
if ($unfinishedHandles) {
if (($updatedHandles = curl_multi_select($mh)) === -1) {
throw new \Exception(curl_multi_strerror(curl_multi_errno($mh)));
}
}
} while ($unfinishedHandles);
curl_multi_close($mh);
?>
Expand Down
Loading

0 comments on commit da9f47d

Please sign in to comment.