-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathsystem.xml
131 lines (123 loc) · 3.67 KB
/
system.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: yuanyuqiang Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<!-- splitted from ./en/functions/exec.xml, last change in rev 1.24 -->
<refentry xml:id="function.system" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>system</refname>
<refpurpose>执行外部程序,并且显示输出</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>string</type><type>false</type></type><methodname>system</methodname>
<methodparam><type>string</type><parameter>command</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter role="reference">result_code</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
同 C 版本的 <function>system</function> 函数一样,本函数执行
<parameter>command</parameter> 参数所指定的命令,并且输出执行结果。
</para>
<para>
如果 PHP 运行在服务器模块中,<function>system</function>
函数还会尝试在每行输出完毕之后,自动刷新 web 服务器的输出缓存。
</para>
<para>
如果要获取一个命令未经任何处理的原始输出,请使用
<function>passthru</function> 函数。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>command</parameter></term>
<listitem>
<para>
要执行的命令。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result_code</parameter></term>
<listitem>
<para>
如果提供 <parameter>result_code</parameter>
参数,则外部命令执行后的返回状态将会被设置到此变量中。
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功则返回命令输出的最后一行,失败则返回 &false;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>system</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
echo '<pre>';
// 输出 shell 命令 "ls" 的返回结果
// 并且将输出的最后一样内容返回到 $last_line。
// 将命令的返回值保存到 $retval。
$last_line = system('ls', $retval);
// 打印更多信息
echo '
</pre>
<hr />Last line of the output: ' . $last_line . '
<hr />Return value: ' . $retval;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&warn.escapeshell;
¬e.exec-bg;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>exec</function></member>
<member><function>passthru</function></member>
<member><function>popen</function></member>
<member><function>escapeshellcmd</function></member>
<member><function>pcntl_exec</function></member>
<member><link linkend="language.operators.execution">执行运算符</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->