-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathphp-uname.xml
204 lines (190 loc) · 5.46 KB
/
php-uname.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 03db4883c52dfbe6be059d915a159e3a1dd9e7cb Maintainer: daijie Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.php-uname" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>php_uname</refname>
<refpurpose>返回运行 PHP 的系统的有关信息</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>php_uname</methodname>
<methodparam choice="opt"><type>string</type><parameter>mode</parameter><initializer>"a"</initializer></methodparam>
</methodsynopsis>
<para>
<function>php_uname</function> 返回了运行 PHP 的操作系统的描述。
这和 <function>phpinfo</function> 最顶端上输出的是同一个字符串。
如果仅仅要获取操作系统的名称。可以考虑使用常量 <constant>PHP_OS</constant>,不过要注意该常量会包含 PHP 构建(<emphasis>built</emphasis>)时的操作系统名。
</para>
<para>
在一些旧的 UNIX 平台,它有可能无法检测到当前系统的信息,然后会还原显示成构建 PHP 时的系统信息。
这仅仅在你的 uname() 函数库不存在或无法运行时发生。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
<parameter>mode</parameter> 是单个字符,用于定义要返回什么信息:
<itemizedlist>
<listitem>
<para>
<literal>'a'</literal>:此为默认。返回与空格分隔的单独模式
<simplelist type="inline">
<member><literal>'s'</literal></member>
<member><literal>'n'</literal></member>
<member><literal>'r'</literal></member>
<member><literal>'v'</literal></member>
<member><literal>'m'</literal></member>
</simplelist>
相同的信息。
</para>
</listitem>
<listitem>
<simpara>
<literal>'s'</literal>:操作系统名称。例如:
<literal>FreeBSD</literal>。
</simpara>
</listitem>
<listitem>
<simpara>
<literal>'n'</literal>:主机名。例如:
<literal>localhost.example.com</literal>。
</simpara>
</listitem>
<listitem>
<simpara>
<literal>'r'</literal>:版本名称,例如:
<literal>5.1.2-RELEASE</literal>。
</simpara>
</listitem>
<listitem>
<simpara>
<literal>'v'</literal>:版本信息。操作系统之间有很大的不同。
</simpara>
</listitem>
<listitem>
<simpara>
<literal>'m'</literal>:机器类型。例如:<literal>i386</literal>。
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
返回描述字符串。
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
当指定的 <parameter>mode</parameter> 无效时,抛出 <classname>ValueError</classname>。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>一些 <function>php_uname</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
echo php_uname();
echo PHP_OS;
/* 比如有些会输出:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux
FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD
Windows NT XN1 5.1 build 2600
WINNT
*/
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'This is a server using Windows!';
} else {
echo 'This is a server not using Windows!';
}
?>
]]>
</programlisting>
</example>
</para>
<para>
同样可以方便地使用一些相关的 <link linkend="language.constants.predefined">PHP 预定义常量</link>,例如:
<example>
<title>一些系统相关常量的示例</title>
<programlisting role="php">
<![CDATA[
<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX; // so
echo PATH_SEPARATOR; // :
// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX; // dll
echo PATH_SEPARATOR; // ;
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>phpversion</function></member>
<member><function>php_sapi_name</function></member>
<member><function>phpinfo</function></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
-->