PHP函数参考21-针对服务器扩展函数
目录
Apache函数
-
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 请求头信息
注意:被改名而成为 apache_request_headers() 的别名。因为此函数仅适用于 Apache 。
-
virtual — 执行 Apache 子请求
FPM函数
-
fastcgi_finish_request — 冲刷(flush)所有响应的数据给客户端
此函数冲刷(flush)所有响应的数据给客户端并结束请求。这使得客户端结束连接后,需要大量时间运行的任务能够继续运行。
在调用这个函数的时候, 会发送响应, 关闭连接. 但是不会结束PHP的运行。
参考鸟哥对于这个函数的理解:使用fastcgi_finish_request提高页面响应速度 - 风雪之隅
echo '例子:'; file_put_contents('log.txt', date('Y-m-d H:i:s') . " 上传视频\n", FILE_APPEND); fastcgi_finish_request(); echo "形而上学"; sleep(1); file_put_contents('log.txt', date('Y-m-d H:i:s') . " 转换格式\n", FILE_APPEND); sleep(1); file_put_contents('log.txt', date('Y-m-d H:i:s') . " 提取图片\n", FILE_APPEND);
通过浏览器访问此脚本, 结果发现并没有输出函数之后相应的字符串"形而上学”,但却生成了相应的文件,并记录字符串到文件。由此说明在调用fastcgi_finish_request后,客户端响应就已经结束,但与此同时服务端脚本却继续运行。
由于函数仅在FPM环境下有效,为了兼容性:
if (!function_exists("fastcgi_finish_request")) { function fastcgi_finish_request() { } }