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_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_gettable_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

目录


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除