Ref/apache-Phpdoc专题
apache_child_terminate
在本次请求结束后终止 apache 子进程
说明
bool <span class="methodname">apache_child_terminate ( <span class="methodparam">void )
apache_child_terminate 将把运行当前 PHP 请求的 Apache 子进程注册为终止状态,一旦结束 PHP 代码的运行此进程将终止。可以用在占用大量内存的脚本后面来终止该进程,因为通常内存只在内部释放而不会还给操作系统。
返回值
如果 PHP 以 Apache 1 模块方式运行,且 Apache
的版本是非多线程的,以及激活了 PHP 指令.
child_terminate,则返回
true。如果不满足上述条件则返回 false 并生成一条
E_WARNING 级的错误信息。
更新日志
| 版本 | 说明 |
|---|---|
| 5.4.0 | 该函数目前也可以用于FastCGI模式了。以前,它仅在PHP作为Apapche的模块安装时支持。 |
注释
Note: 此函数未在 Windows 平台下实现。
参见
- exit
apache_get_modules
获得已加载的Apache模块列表
说明
array <span class="methodname">apache_get_modules ( <span class="methodparam">void )
获得已加载的Apache模块列表。
返回值
包含已加载的Apache模块的数组.
更新日志
| 版本 | 说明 |
|---|---|
| 5.0.0 | 可用于Apache 1或PHP Apache 2 filter API。 在此之前, 只可用于 Apache 2 handler API。 |
范例
示例 #1 apache_get_modules 示例
<?php
print_r(apache_get_modules());
?>
以上例程的输出类似于:
Array
(
[0] => core
[1] => http_core
[2] => mod_so
[3] => sapi_apache2
[4] => mod_mime
[5] => mod_rewrite
)
apache_get_version
获得Apache版本信息
说明
string <span class="methodname">apache_get_version ( <span class="methodparam">void )
获得Apache版本信息。
返回值
成功时返回 Apache 版本信息 或者在失败时返回 false.
更新日志
| 版本 | 说明 |
|---|---|
| 4.3.4 | 可用于 Apache 1. |
| 5.0.0 | 可用于 Apache 2 filter API. |
范例
示例 #1 apache_get_version example
<?php
$version = apache_get_version();
echo "$version\n";
?>
以上例程的输出类似于:
Apache/1.3.29 (Unix) PHP/4.3.4
参见
- phpinfo
apache_getenv
获取 Apache subprocess_env 变量
说明
string <span
class="methodname">apache_getenv ( <span
class="methodparam">string $variable
[, bool
$walk_to_top = false ] )
获取 variable 指定的环境变量。
此函数需要 Apache 2 否则为 undefined。
参数
variable
Apache 环境变量
walk_to_top
是否获取对Apache各层可用的顶层变量
返回值
成功时返回 Apache 环境变量值,失败时返回 false
范例
示例 #1 apache_getenv example
该示例显示如何取得 Apache 环境变量 SERVER_ADDR的值。
<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>
以上例程的输出类似于:
42.24.42.240
参见
- apache_setenv
- getenv
- Superglobals
apache_lookup_uri
对指定的 URI 执行部分请求并返回所有有关信息
说明
object <span
class="methodname">apache_lookup_uri ( <span
class="methodparam">string $filename
)
本函数对一个 URL 执行部分请求。取得所有有关给定资源的重要信息后就停手。
仅在将 PHP 安装在 Netscape/iPlanet/SunONE Web 服务器,并以 Apache 模块运行时,才支持此函数。参考 NSAPI server module。
参数
filename
被请求的文件名(URI)。
返回值
一个有关 URI 信息的 object。此 <span class="type">object 的属性有:
- status
- the_request
- status_line
- method
- content_type
- handler
- uri
- filename
- path_info
- args
- boundary
- no_cache
- no_local_copy
- allowed
- send_bodyct
- bytes_sent
- byterange
- clength
- unparsed_uri
- mtime
- request_time
范例
示例 #1 apache_lookup_uri 例子
<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);
if (file_exists($info->filename)) {
echo 'file exists!';
}
?>
以上例程的输出类似于:
stdClass Object
(
[status] => 200
[the_request] => GET /dir/file.php HTTP/1.1
[method] => GET
[mtime] => 0
[clength] => 0
[chunked] => 0
[content_type] => application/x-httpd-php
[no_cache] => 0
[no_local_copy] => 1
[unparsed_uri] => /dir/index.php?var=value
[uri] => /dir/index.php
[filename] => /home/htdocs/dir/index.php
[args] => var=value
[allowed] => 0
[sent_bodyct] => 0
[bytes_sent] => 0
[request_time] => 1074282764
)
file exists!
apache_note
取得或设置 apache 请求记录
说明
string <span
class="methodname">apache_note ( <span
class="type">string $note_name [, <span
class="methodparam">string $note_value<span
class="initializer"> = "" ] )
这个函数是 Apache table_get 和 table_set 的包装。 它编辑了请求中存在的 notes 表。 这个表的目的是允许 Apache 模块进行通讯。
apache_note 的主要用途是在同一个请求中,从一个模块传递信息到另一个模块。
参数
note_name
note 名。
note_value
note 值。
返回值
如果只有一个参数调用,则返回记录 note_name
的当前值。如果用两个参数调用,则将记录 note_name 的值设为
note_value 并返回记录 note_name
的前一个值。如果未能获取记录,则返回 false。
范例
示例 #1 Passing information between PHP and Perl
<?php
apache_note('name', 'Fredrik Ekengren');
// Call perl script
virtual("/perl/some_script.pl");
$result = apache_note("resultdata");
?>
# Get Apache request object
my $r = Apache->request()->main();
# Get passed data
my $name = $r->notes('name');
# some processing
# Pass result back to PHP
$r->notes('resultdata', $result);
示例 #2 Logging values in access.log
<?php
apache_note('sessionID', session_id());
?>
# "%{sessionID}n" can be used in the LogFormat directive
参见
- virtual
apache_request_headers
获取全部 HTTP 请求头信息
说明
array <span class="methodname">apache_request_headers ( <span class="methodparam">void )
获取当前请求的所有请求头信息
返回值
包含当前请求所有头信息的数组,失败返回 false 。
更新日志
| 版本 | 说明 |
|---|---|
| 5.5.7 | 此函数可用于 CLI server。 |
| 5.4.0 | 此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。 |
范例
示例 #1 apache_request_headers 示例
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>
以上例程的输出类似于:
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive
注释
Note:
你也可以试图从环境变量中读取普通CGI变量,PHP以<span class="productname">Apache模块方式运行时有可能无法获得。使用<span class="function">phpinfo获得可读取的变量列表。 环境变量.
参见
- apache_response_headers
apache_reset_timeout
重置 Apache 写入计时器
说明
bool <span class="methodname">apache_reset_timeout ( <span class="methodparam">void )
apache_reset_timeout 重置 Apache 写入计时器, 缺省为 300 秒. 通过 set_time_limit(0); ignore_user_abort(true) 和定期地调用 <span class="function">apache_reset_timeout,Apache理论上可永远运行
此函数需要 Apache 1.
返回值
成功时返回 true, 或者在失败时返回 false。
参见
- set_time_limit
- ignore_user_abort
apache_response_headers
获得全部 HTTP 响应头信息
说明
array <span class="methodname">apache_response_headers ( <span class="methodparam">void )
获得全部 HTTP 响应头信息。
返回值
成功时返回包含全部 Apache 响应头信息的数组, 或者在失败时返回
false.
更新日志
| 版本 | 说明 |
|---|---|
| 5.5.7 | 此函数可用于 CLI server. |
| 5.4.0 | 此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。 |
| 4.3.3 |
范例
示例 #1 apache_response_headers 示例
<?php
print_r(apache_response_headers());
?>
以上例程的输出类似于:
Array
(
[Accept-Ranges] => bytes
[X-Powered-By] => PHP/4.3.8
)
参见
- apache_request_headers
- headers_sent
- headers_list
apache_setenv
设置 Apache 子进程环境变量
说明
bool <span
class="methodname">apache_setenv ( <span
class="methodparam">string $variable
, string
$value [, <span
class="type">bool $walk_to_top =
false ] )
apache_setenv 设置由variable指定的
Apache 环境变量值。
Note:
当设置了某 Apache 环境变量, 相应的
$_SERVER变量不会改变。
参数
variable
将被设置的环境变量。
value
新 variable 值。
walk_to_top
是否将所设置的顶层变量应用到所有 Apache 层。
返回值
成功时返回 true, 或者在失败时返回 false。
范例
示例 #1 使用 apache_setenv 设置一个 Apache 环境变量
<?php
apache_setenv("EXAMPLE_VAR", "Example Value");
?>
注释
Note:
apache_setenv 可与 <span class="function">apache_getenv 配合使用,以在不同页面间传递变量,或将 PHP 脚本中已设置变量传入 Server Side Includes (.shtml)页面。
参见
- apache_getenv
getallheaders
获取全部 HTTP 请求头信息
说明
array <span class="methodname">getallheaders ( <span class="methodparam">void )
获取当前请求的所有请求头信息。
此函数是 apache_request_headers的别名。 请阅读 apache_request_headers 文档获得更多信息。
返回值
包含当前请求所有头信息的数组,失败返回 false 。
更新日志
| 版本 | 说明 |
|---|---|
| 5.5.7 | 此函数可用于 CLI server。 |
| 5.4.0 | 此函数可用于 FastCGI。 此前仅在PHP以 Apache 模块方式运行时支持。 |
| 4.3.0 | 4.3.0 |
范例
示例 #1 getallheaders 示例
<?php
foreach (getallheaders() as $name => $value) {
echo "$name: $value\n";
}
?>
参见
- apache_response_headers
virtual
执行 Apache 子请求
说明
bool virtual (
string
$filename )
virtual 是一个 Apache 特有函数, 类似于
mod_include 中的 \<!--#include virtual...-->。 它执行一个 Apache
子请求。可用于包含一个 CGI 脚本或 .shtml 文件,或任何其它可通过 Apache
解析的请求。注意对一个 CGI 脚本,该脚本 生成合法的 CGI 头,至少必须
生成Content-Type 头。
为运行子请求,所有缓冲将中止并刷新至浏览器,包括头信息。
仅在将 PHP 安装在 Netscape/iPlanet/SunONE Web 服务器,并以 Apache 模块运行时,才支持此函数。参考 NSAPI server module。
参数
filename
virtual命令将执行的文件
返回值
成功执行 virtual 命令,或失败时返回 false 。
范例
示例请看 apache_note 。
注释
Warning
查询字符串可被传递至被包含文件,但是 $_GET 是拷贝于父文件,仅有
$_SERVER['QUERY_STRING'] 将填充传递入的查询字符串。
且此查询字符串只在使用 Apache 2 时被填充。 此请求文件将不会显示在 Apache
访问日志中。
Note:
在被请求文件中设置的环境变量在原请求文件中不可见。
参见
- apache_note
目录
- apache_child_terminate — 在本次请求结束后终止 apache 子进程
- apache_get_modules — 获得已加载的Apache模块列表
- apache_get_version — 获得Apache版本信息
- apache_getenv — 获取 Apache subprocess_env 变量
- apache_lookup_uri — 对指定的 URI 执行部分请求并返回所有有关信息
- apache_note — 取得或设置 apache 请求记录
- apache_request_headers — 获取全部 HTTP 请求头信息
- apache_reset_timeout — 重置 Apache 写入计时器
- apache_response_headers — 获得全部 HTTP 响应头信息
- apache_setenv — 设置 Apache 子进程环境变量
- getallheaders — 获取全部 HTTP 请求头信息
- virtual — 执行 Apache 子请求