nginx-php类似nginx-lua的扩展,nginx-php中文开发文档
<p>2020年6月2日10:19:03</p><p>github:https://github.com/rryqszq4/ngx_php7</p>
<p>php5的版本 https://github.com/rryqszq4/ngx_php</p>
<p> </p>
<p>发现是从框架性能测试的 https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=fortune发现的</p>
<p>这个是参照ngx_lua做的,目前我自己还未做测试,先把文档翻译成中文的,作者也应该是中国人,官方QQ群:<span style="color: rgba(255, 102, 0, 1)">558795330</span></p>
<p>感谢ta 对发展php的生态做的贡献</p>
<p> </p>
<p>2020年6月3日09:31:49</p>
<p>因为cnblog的目前不支持mkdown语法,在有道上分享的一个更方便观看的版本</p>
<p>https://note.youdao.com/ynoteshare1/index.html?id=8131b1a6ad57cc15b109bbb9942a72f9&type=note</p>
<h1 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 2.25em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_php7</h1>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><img style="max-width: 100%; max-height: 100%" src="https://travis-ci.com/rryqszq4/ngx_php7.svg?branch=master" alt="Build Status"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/github/release/rryqszq4/ngx_php7.svg" alt="GitHub release"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/badge/license-BSD--2--Clause-blue.svg" alt="license"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/badge/QQ--group-558795330-26bcf5.svg" alt="QQ group"></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_php7是高性能Web服务器nginx的扩展模块,它实现嵌入式php7脚本来处理nginx的位置和变量。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_php7借鉴ngx_lua的设计,并致力于提供比php-cgi,mod_php,php-fpm,和hhvm具有显着性能优势的非阻塞Web服务。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_php7不想替换任何东西,只想提供一个解决方案。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">有ngx_php5的旧版,它记录了我过去的一些代码实践,也很有价值。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_php7 and php 的性能测试</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">目录</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">官方php有什么不同</li>
<li style="margin-bottom: 0">运行条件</li>
<li style="margin-bottom: 0">安装</li>
<li style="margin-bottom: 0">概要</li>
<li style="margin-bottom: 0">测试</li>
<li style="margin-bottom: 0">指令</li>
<li style="margin-bottom: 0">Nginx API for php</li>
<li style="margin-bottom: 0">Nginx non-blocking API for php</li>
<li style="margin-bottom: 0">Nginx 常量</li>
<li style="margin-bottom: 0">版权和许可</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">官方php有什么不同</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">全局变量在每个请求中都不安全</li>
<li style="margin-bottom: 0">类的静态变量在每个请求中都不安全</li>
<li style="margin-bottom: 0">不要设计单例模式</li>
<li style="margin-bottom: 0">本机IO功能可以正常工作,但是会减慢Nginx的速度</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">运行条件</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">仅支持 Linux</li>
<li style="margin-bottom: 0">PHP-7.0.* ~ PHP-7.4.*</li>
<li style="margin-bottom: 0">nginx-1.4.7 ~ nginx-1.17.8</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">安装</h2>
<h3 id="%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">编译安装</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="46"> </p>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="48"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">$ <span class="token function" style="color: rgba(121, 93, 163, 1)">wget</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'http://php.net/distributions/php-7.3.10.tar.gz'</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">tar</span> xf php-7.3.10.tar.gz
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">cd</span> php-7.3.10
$ ./configure --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php --enable-embed
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">&&</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">git</span> clone https://github.com/rryqszq4/ngx_php7.git
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">wget</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'http://nginx.org/download/nginx-1.12.2.tar.gz'</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">tar</span> -zxvf nginx-1.12.2.tar.gz
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">cd</span> nginx-1.12.2
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_CONFIG<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/bin/php-config
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_BIN<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/bin
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_INC<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/include/php
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_LIB<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/lib
$ ./configure --user<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>www --group<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>www \
$ --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/nginx \
$ --with-ld-opt<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"-Wl,-rpath,<span class="token variable" style="color: rgba(51, 51, 51, 1)">$PHP_LIB</span>"</span> \
$ --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/ngx_php7/third_party/ngx_devel_kit \
$ --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/ngx_php7
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">&&</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span>
</pre>
<h3 id="centos-redhat-7" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">CentOS / RedHat 7</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="77"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">yum -y <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> https://extras.getpagespeed.com/release-el7-latest.rpm
yum -y <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-utils
yum-config-manager --enable remi-php73
yum <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> nginx-module-php7
</pre>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">编辑 <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">nginx.conf</code> 并在顶部加载所需的模块:</p>
<pre class="language-text">load_module modules/ndk_http_module.so;
load_module modules/ngx_http_php_module.so;
</pre>
<h3 id="docker" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Docker</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="91"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">$ docker build -t nginx-php7 <span class="token keyword" style="color: rgba(0, 134, 179, 1)">.</span>
$ <span class="token keyword" style="color: rgba(0, 134, 179, 1)">:</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"app.conf: Create nginx config"</span>
$ docker run -p 80:80 -v <span class="token variable">$PWD</span>/app.conf:/etc/nginx/conf.d/default.conf nginx-php7
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">概要</h2>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="101"> </p>
<pre class="language-nginx" data-role="codeBlock" data-info="nginx"><span class="token keyword" style="color: rgba(167, 29, 93, 1)">worker_processes</span>auto<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">events</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">worker_connections</span><span class="token number" style="color: rgba(0, 134, 179, 1)">102400</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">http</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> mime<span class="token punctuation">.</span><span class="token keyword" style="color: rgba(167, 29, 93, 1)">types</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span>application<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>octet<span class="token operator" style="color: rgba(167, 29, 93, 1)">-</span>stream<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">keepalive_timeout</span><span class="token number" style="color: rgba(0, 134, 179, 1)">65</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">client_max_body_size</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">64</span>k<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">client_body_buffer_size</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">64</span>k<span class="token punctuation">;</span>
php_ini_path <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>usr<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>local<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>etc<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php<span class="token punctuation">.</span>ini<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">server</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">listen</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">80</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">server_name</span>localhost<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'application/json; charset=UTF-8'</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"hello ngx_php7"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_request <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_request_document_uri</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># curl /ngx_get?a=1&b=2</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_get <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_query_args()\n"</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_query_args</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># curl -d 'a=1&b=2' /ngx_post</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_post <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_post_args()\n"</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_post_args</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_sleep <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_sleep start\n"</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_sleep</span><span class="token punctuation">(</span><span class="token number" style="color: rgba(0, 134, 179, 1)">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_sleep end\n"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_socket2 <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'application/json;charset=UTF-8'</span><span class="token punctuation">;</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token variable">$fd</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_connect</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"hq.sinajs.cn"</span><span class="token punctuation">,</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">80</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$send_buf</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> "GET <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>list<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>s_sh000001 <span class="token keyword" style="color: rgba(167, 29, 93, 1)">HTTP</span><span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span><span class="token number" style="color: rgba(0, 134, 179, 1)">1.0</span>\r\n
Host<span class="token punctuation">:</span> hq<span class="token punctuation">.</span>sinajs<span class="token punctuation">.</span>cn\r\nConnection<span class="token punctuation">:</span> close\r\n\r\n"<span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_send</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token variable">$send_buf</span><span class="token punctuation">,</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">strlen</span><span class="token punctuation">(</span><span class="token variable">$send_buf</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$recv_buf</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">""</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_recv</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token variable">$recv_buf</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token variable">$recv_buf</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_close</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_var <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">set</span> <span class="token variable">$a</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">1234567890</span><span class="token punctuation">;</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token variable">$a</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_var_get</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"a"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token variable">$a</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># set content-type of response headers</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_header <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_header_set</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"Content-Type"</span><span class="token punctuation">,</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"text/html; charset=UTF-8"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># run a php file</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"name_of_php_file.php"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># run any php file in root</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span> <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_var_get</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"uri"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">测试</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">使用Test :: Nginx模块的perl进行测试,搜索和发现ngx_php7中的问题。</p>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="215"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">ngx_php7 <span class="token function" style="color: rgba(121, 93, 163, 1)">test</span> <span class="token punctuation">..</span>.
nginx version: nginx/1.12.2
built by gcc 4.8.4 <span class="token punctuation">(</span>Ubuntu 4.8.4-2ubuntu1~14.04.3<span class="token punctuation">)</span>
configure arguments: --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/home/travis/build/rryqszq4/ngx_php7/build/nginx --with-ld-opt<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>-Wl,-rpath,/home/travis/build/rryqszq4/ngx_php7/build/php/lib --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token punctuation">..</span>/<span class="token punctuation">..</span>/<span class="token punctuation">..</span>/ngx_php7/third_party/ngx_devel_kit --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token punctuation">..</span>/<span class="token punctuation">..</span>/<span class="token punctuation">..</span>/ngx_php7
t/001-hello.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/002-ini.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/003-error.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/004-ngx_request.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/005-ngx_log.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/006-ngx_sleep.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/007-ngx_socket.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/008-ngx_exit.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/009-ngx_query_args.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/010-ngx_post_args.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/011-ngx_constants.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/012-function.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/013-class.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/014-ngx_var.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/015-ngx_header.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> 1/? WARNING: TEST 2: <span class="token keyword" style="color: rgba(0, 134, 179, 1)">set</span> content-length of response headers - unexpected extra bytes after last chunk <span class="token keyword" style="color: rgba(0, 134, 179, 1)">in</span> response: <span class="token string" style="color: rgba(24, 54, 145, 1)">"Testing ngx_header!\x{0a}"</span>
t/015-ngx_header.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/016-rewrite_by_php.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/017-ngx_redirect.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/018-ngx_mysql.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/019-php_set.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/020-ngx_cookie.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/021-content_by_php_block.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/022-init_worker_by_php_block.t <span class="token punctuation">..</span> ok
All tests successful.
Files<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>22, Tests<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>84, 14 wallclock secs <span class="token punctuation">(</span> 0.09 usr0.02 sys +2.19 cusr0.43 csys <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>2.73 CPU<span class="token punctuation">)</span>
Result: PASS
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">指令</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">php_ini_path</li>
<li style="margin-bottom: 0">init_worker_by_php</li>
<li style="margin-bottom: 0">init_worker_by_php_block</li>
<li style="margin-bottom: 0">rewrite_by_php</li>
<li style="margin-bottom: 0">rewrite_by_php_block</li>
<li style="margin-bottom: 0">access_by_php</li>
<li style="margin-bottom: 0">access_by_php_block</li>
<li style="margin-bottom: 0">content_by_php</li>
<li style="margin-bottom: 0">content_by_php_block</li>
<li style="margin-bottom: 0">log_by_php</li>
<li style="margin-bottom: 0">log_by_php_block</li>
<li style="margin-bottom: 0">header_filter_by_php</li>
<li style="margin-bottom: 0">header_filter_by_php_block</li>
<li style="margin-bottom: 0">body_filter_by_php</li>
<li style="margin-bottom: 0">body_filter_by_php_block</li>
<li style="margin-bottom: 0">php_keepalive</li>
<li style="margin-bottom: 0">php_set</li>
<li style="margin-bottom: 0">php_socket_keepalive</li>
<li style="margin-bottom: 0">php_socket_buffer_size</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_ini_path</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_ini_path</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php.ini file path></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">loading-config</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">该指令允许加载正式的php配置文件php.ini,该文件将由后续的PHP代码使用。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">init_worker_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">init_worker_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">starting-worker</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">init_worker_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">init_worker_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">starting-worker</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">rewrite_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the rewrite phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">rewrite_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the rewrite phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">access_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the access phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">access_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the access phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">content_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the content phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">content_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In the content phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">log_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">log_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">header_filter_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">header_filter_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-header-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">header_filter_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">header_filter_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-header-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">body_filter_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">body_filter_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-body-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">body_filter_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">body_filter_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-body-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_keepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_keepalive</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">0</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">In php, set upstream connection pool size.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_set</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">$variable</code></em> <em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">loading-config</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">Installs a php handler for the specified variable.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_socket_keepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_socket_keepalive</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">0</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_socket_buffer_size</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_socket_buffer_size</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">4k</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx API for php</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">ngx_php7
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 0">
<li style="margin-bottom: 0">Table of contents</li>
<li style="margin-bottom: 0">官方php有什么不同</li>
<li style="margin-bottom: 0">运行条件</li>
<li style="margin-bottom: 0">安装
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 0">
<li style="margin-bottom: 0">编译安装</li>
<li style="margin-bottom: 0">CentOS / RedHat 7</li>
<li style="margin-bottom: 0">Docker</li>
</ul>
</li>
<li style="margin-bottom: 0">概要</li>
<li style="margin-bottom: 0">测试</li>
<li style="margin-bottom: 0">指令</li>
<li style="margin-bottom: 0">php_ini_path</li>
<li style="margin-bottom: 0">init_worker_by_php</li>
<li style="margin-bottom: 0">init_worker_by_php_block</li>
<li style="margin-bottom: 0">rewrite_by_php</li>
<li style="margin-bottom: 0">rewrite_by_php_block</li>
<li style="margin-bottom: 0">access_by_php</li>
<li style="margin-bottom: 0">access_by_php_block</li>
<li style="margin-bottom: 0">content_by_php</li>
<li style="margin-bottom: 0">content_by_php_block</li>
<li style="margin-bottom: 0">log_by_php</li>
<li style="margin-bottom: 0">log_by_php_block</li>
<li style="margin-bottom: 0">header_filter_by_php</li>
<li style="margin-bottom: 0">header_filter_by_php_block</li>
<li style="margin-bottom: 0">body_filter_by_php</li>
<li style="margin-bottom: 0">body_filter_by_php_block</li>
<li style="margin-bottom: 0">php_keepalive</li>
<li style="margin-bottom: 0">php_set</li>
<li style="margin-bottom: 0">php_socket_keepalive</li>
<li style="margin-bottom: 0">php_socket_buffer_size</li>
<li style="margin-bottom: 0">Nginx API for php</li>
<li style="margin-bottom: 0">ngx_exit</li>
<li style="margin-bottom: 0">ngx_query_args</li>
<li style="margin-bottom: 0">ngx_post_args</li>
<li style="margin-bottom: 0">ngx_log_error</li>
<li style="margin-bottom: 0">ngx_request_method</li>
<li style="margin-bottom: 0">ngx_request_document_root</li>
<li style="margin-bottom: 0">ngx_request_document_uri</li>
<li style="margin-bottom: 0">ngx_request_script_name</li>
<li style="margin-bottom: 0">ngx_request_script_filename</li>
<li style="margin-bottom: 0">ngx_request_query_string</li>
<li style="margin-bottom: 0">ngx_request_uri</li>
<li style="margin-bottom: 0">ngx_request_server_protocol</li>
<li style="margin-bottom: 0">ngx_request_remote_addr</li>
<li style="margin-bottom: 0">ngx_request_server_addr</li>
<li style="margin-bottom: 0">ngx_request_remote_port</li>
<li style="margin-bottom: 0">ngx_request_server_port</li>
<li style="margin-bottom: 0">ngx_request_server_name</li>
<li style="margin-bottom: 0">ngx_request_headers</li>
<li style="margin-bottom: 0">ngx_var_get</li>
<li style="margin-bottom: 0">ngx_var_set</li>
<li style="margin-bottom: 0">ngx_header_set</li>
<li style="margin-bottom: 0">ngx_header_get</li>
<li style="margin-bottom: 0">ngx_header_gets</li>
<li style="margin-bottom: 0">ngx_redirect</li>
<li style="margin-bottom: 0">ngx_cookie_get_all</li>
<li style="margin-bottom: 0">ngx_cookie_get</li>
<li style="margin-bottom: 0">ngx_cookie_set</li>
<li style="margin-bottom: 0">Nginx non-blocking API for php</li>
<li style="margin-bottom: 0">ngx_sleep</li>
<li style="margin-bottom: 0">ngx_msleep</li>
<li style="margin-bottom: 0">ngx_socket_create</li>
<li style="margin-bottom: 0">ngx_socket_iskeepalive</li>
<li style="margin-bottom: 0">ngx_socket_connect</li>
<li style="margin-bottom: 0">ngx_socket_close</li>
<li style="margin-bottom: 0">ngx_socket_send</li>
<li style="margin-bottom: 0">ngx_socket_recv</li>
<li style="margin-bottom: 0">ngx_socket_recvpage</li>
<li style="margin-bottom: 0">ngx_socket_recvsync</li>
<li style="margin-bottom: 0">ngx_socket_clear</li>
<li style="margin-bottom: 0">Nginx 常量</li>
<li style="margin-bottom: 0">版本常量</li>
<li style="margin-bottom: 0">PHP的日志常量</li>
<li style="margin-bottom: 0">PHP的状态常量</li>
<li style="margin-bottom: 0">PHP的HTTP状态常量</li>
<li style="margin-bottom: 0">版权和许可</li>
</ul>
</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_exit</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_exit(int $status) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">status: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">当前请求结束并返回http状态代码。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_query_args</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_query_args(void) : array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx::query_args(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">通过URL参数(即查询字符串)传递给当前脚本的变量的关联数组。<br>而不是PHP官方常量$ _GET。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_post_args</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_post_args(void) : array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx::post_args(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">通过HTTP POST方法传递给当前脚本的变量的关联数组<br>在请求中使用application / x-www-form-urlencoded或multipart / form-data作为HTTP Content-Type时。<br>而不是php官方常量$ _POST。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_log_error</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_log_error(int $level, string $log_str) : void</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_log::error(int $level, string $log_str) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">level: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_str: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_method</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_method(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::method(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">使用哪种请求方法来访问页面,例如“ GET”,“ POST”,“ PUT”,“ DELETE”等等。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_document_root</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_document_root(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::document_root(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">服务器配置文件中定义的当前脚本正在其下执行的文档根目录。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_document_uri</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_document_uri(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::document_uri(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_script_name</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_script_name(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::script_name(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">包含当前脚本的路径。 这对于需要指向自身的页面很有用。<br>__FILE__常量包含当前(包含)文件的完整路径和文件名。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_script_filename</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_script_filename(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::script_filename(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">当前正在执行的脚本文件名的绝对路径名。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_query_string</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_query_string(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::query_string(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">用于访问页面的查询字符串(如果有)。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_uri</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_uri(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::uri(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">为了访问该页面而给出的URI,例如'/index.html'。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_protocol</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_protocol(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_protocol(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">通过其请求页面的信息协议的名称和修订,例如“ HTTP / 1.0”。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_remote_addr</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_remote_addr(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::remote_addr(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">用户正在从中查看当前页面的IP地址。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_addr</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_addr(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_addr(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">当前脚本正在其下执行的服务器的IP地址。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_remote_port</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_remote_port(void) : int</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::remote_port(void) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">用户计算机上用于与Web服务器通信的端口。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_port</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_port(void) : int</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_port(void) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">Web服务器用于通信的服务器计算机上的端口。 对于默认设置,<br>这将是"80"; 例如,使用SSL会将其更改为您定义的安全HTTP端口。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_name</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_name(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_name(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">正在执行当前脚本的服务器主机的名称。<br>如果脚本在虚拟主机上运行,则将是为该虚拟主机定义的值。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_headers</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_headers(void): array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::headers(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">获取http请求的标头完整信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_var_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var_get(string $key) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var::get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">在nginx配置中获取变量。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_var_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var_set(string $key, string $value) : void</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var::set(string $key, string $value) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">value: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">在nginx配置中设置变量。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_set(string $key, string $value) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">value: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">设置http响应的头信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">获取http响应的头信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_gets</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_gets(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">获取http响应的标头完整信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_redirect</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_redirect(string $uri, int $status) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">uri: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">status: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">设置响应头重定向。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_get_all</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_get_all(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_set(string $data): bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">data: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx non-blocking API for php</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">yield ngx_sleep</li>
<li style="margin-bottom: 0">yield ngx_msleep</li>
<li style="margin-bottom: 0">ngx_socket_create</li>
<li style="margin-bottom: 0">ngx_socket_iskeepalive</li>
<li style="margin-bottom: 0">yield ngx_socket_connect</li>
<li style="margin-bottom: 0">yield ngx_socket_close</li>
<li style="margin-bottom: 0">yield ngx_socket_send</li>
<li style="margin-bottom: 0">yield ngx_socket_recv</li>
<li style="margin-bottom: 0">yield ngx_socket_recvpage</li>
<li style="margin-bottom: 0">ngx_socket_recvsync</li>
<li style="margin-bottom: 0">ngx_socket_clear</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_sleep</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">yield ngx_sleep(int seconds)</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">secodes: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">将程序执行延迟给定的秒数。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_msleep</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">yield ngx_msleep(int milliseconds)</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">milliseconds: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">将程序执行延迟给定的毫秒数。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_create</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_create(int $domain, int $type, int $protocol) : resource</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">domain: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">type: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">protocol: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">创建并返回套接字资源,也称为通信的端点。<br>典型的网络连接由2个套接字组成,其中一个充当客户端的角色,<br>另一个执行服务器的角色。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_iskeepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_iskeepalive(void) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_connect</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_connect(resource $socket, string $address, int $port) ) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">address: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">port: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">使用套接字资源套接字启动到地址的连接,该套接字必须是有效的<br>使用ngx_socket_create()创建的套接字资源。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_close</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_close(resource $socket) ) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_socket_close()关闭套接字给定的套接字资源。 此功能特定于<br>套接字,不能在任何其他类型的资源上使用。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_send</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_send(resource $socket, string $buf, int $len) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">函数ngx_socket_send()将len个字节从buf发送到套接字套接字。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recv</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_recv(resource $socket, string &$buf, int $len) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">ngx_socket_recv()函数从套接字接收buf中的len字节数据。 ngx_socket_recv()可以是<br>用于从连接的套接字收集数据。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">buf通过引用传递,因此必须在参数列表中将其指定为变量。<br>ngx_socket_recv()从套接字读取的数据将以buf返回。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recvpage</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_recvpage(resource $socket, string &$buf, int &$rc) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rc: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recvsync</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_recvsync(resource $socket, string &$buf, int $len) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_clear</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_recv(resource $socket) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">Close the socket resource and is blocking but hight performance.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx 常量</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400">
<li style="margin-bottom: 0">version constants</li>
<li style="margin-bottom: 0">log constants for php</li>
<li style="margin-bottom: 0">status constants for php</li>
<li style="margin-bottom: 0">http status constants for php</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">版本常量</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX_VAR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX_VERSION</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">1.12.2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PHP_MODULE_VERSION</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0.0.21</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PHP_MODULE_NAME</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">ngx_php</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">PHP的日志常量</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_OK</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-1</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_AGAIN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_BUSY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-3</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_DONE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-4</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_DECLINED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-5</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_ABORT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-6</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">PHP的状态常量</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_STDERR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_EMERG</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">1</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_ALERT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_CRIT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">3</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_ERR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">4</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_WARN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">5</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_NOTICE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">6</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_INFO</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">7</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_DEBUG</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">8</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">PHP的HTTP状态常量</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CONTINUE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">100</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SWITCHING_PROTOCOLS</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">101</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PROCESSING</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">102</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_OK</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">200</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CREATED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">201</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_ACCEPTED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">202</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NO_CONTENT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">204</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PARTIAL_CONTENT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">206</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SPECIAL_RESPONSE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">300</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_MOVED_PERMANENTLY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">301</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_MOVED_TEMPORARILY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">302</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SEE_OTHER</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">303</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_MODIFIED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">304</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_TEMPORARY_REDIRECT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">307</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PERMANENT_REDIRECT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">308</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_BAD_REQUEST</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">400</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_UNAUTHORIZED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">401</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_FORBIDDEN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">403</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_FOUND</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">404</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_ALLOWED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">405</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_TIME_OUT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">408</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CONFLICT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">409</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_LENGTH_REQUIRED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">411</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PRECONDITION_FAILED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">412</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_ENTITY_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">413</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_URI_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">414</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_UNSUPPORTED_MEDIA_TYPE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">415</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_RANGE_NOT_SATISFIABLE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">416</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CLOSE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">444</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NGINX_CODES</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">494</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_HEADER_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">494</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTPS_CERT_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">495</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTPS_NO_CERT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">496</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_TO_HTTPS</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">497</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CLIENT_CLOSED_REQUEST</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">499</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_INTERNAL_SERVER_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">500</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_IMPLEMENTED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">501</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_BAD_GATEWAY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">502</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SERVICE_UNAVAILABLE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">503</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_GATEWAY_TIME_OUT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">504</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_INSUFFICIENT_STORAGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">507</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">版权和许可</h2>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px; font-weight: 400" data-line="1057"> </p>
<pre class="language-" data-role="codeBlock" data-info=""><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background: rgba(0, 0, 0, 0); border-radius: 3px; padding: 0; margin: 0; word-break: normal; border: 0; display: inline; max-width: initial; overflow: initial; line-height: inherit; overflow-wrap: normal; font-size: 0.85em !important">Copyright (c) 2016-2020, rryqszq4 <rryqszq@gmail.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</code></pre>
<h1 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 2.25em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_php7</h1>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><img style="max-width: 100%; max-height: 100%" src="https://travis-ci.com/rryqszq4/ngx_php7.svg?branch=master" alt="Build Status"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/github/release/rryqszq4/ngx_php7.svg" alt="GitHub release"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/badge/license-BSD--2--Clause-blue.svg" alt="license"><br><img style="max-width: 100%; max-height: 100%" src="https://img.shields.io/badge/QQ--group-558795330-26bcf5.svg" alt="QQ group"></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_php7是高性能Web服务器nginx的扩展模块,它实现嵌入式php7脚本来处理nginx的位置和变量。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_php7借鉴ngx_lua的设计,并致力于提供比php-cgi,mod_php,php-fpm,和hhvm具有显着性能优势的非阻塞Web服务。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_php7不想替换任何东西,只想提供一个解决方案。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">有ngx_php5的旧版,它记录了我过去的一些代码实践,也很有价值。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_php7 and php 的性能测试</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Table of contents</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">官方php有什么不同</li>
<li style="margin-bottom: 0">运行条件</li>
<li style="margin-bottom: 0">安装</li>
<li style="margin-bottom: 0">概要</li>
<li style="margin-bottom: 0">测试</li>
<li style="margin-bottom: 0">指令</li>
<li style="margin-bottom: 0">Nginx API for php</li>
<li style="margin-bottom: 0">Nginx non-blocking API for php</li>
<li style="margin-bottom: 0">Nginx 常量</li>
<li style="margin-bottom: 0">版权和许可</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">官方php有什么不同</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">全局变量在每个请求中都不安全</li>
<li style="margin-bottom: 0">类的静态变量在每个请求中都不安全</li>
<li style="margin-bottom: 0">不要设计单例模式</li>
<li style="margin-bottom: 0">本机IO功能可以正常工作,但是会减慢Nginx的速度</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">运行条件</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">仅支持 Linux</li>
<li style="margin-bottom: 0">PHP-7.0.* ~ PHP-7.4.*</li>
<li style="margin-bottom: 0">nginx-1.4.7 ~ nginx-1.17.8</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">安装</h2>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="46"> </p>
<h3 id="%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">编译安装</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="48"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">$ <span class="token function" style="color: rgba(121, 93, 163, 1)">wget</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'http://php.net/distributions/php-7.3.10.tar.gz'</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">tar</span> xf php-7.3.10.tar.gz
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">cd</span> php-7.3.10
$ ./configure --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php --enable-embed
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">&&</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">git</span> clone https://github.com/rryqszq4/ngx_php7.git
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">wget</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'http://nginx.org/download/nginx-1.12.2.tar.gz'</span>
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">tar</span> -zxvf nginx-1.12.2.tar.gz
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">cd</span> nginx-1.12.2
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_CONFIG<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/bin/php-config
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_BIN<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/bin
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_INC<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/include/php
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">export</span> PHP_LIB<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/php/lib
$ ./configure --user<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>www --group<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>www \
$ --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/nginx \
$ --with-ld-opt<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"-Wl,-rpath,<span class="token variable" style="color: rgba(51, 51, 51, 1)">$PHP_LIB</span>"</span> \
$ --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/ngx_php7/third_party/ngx_devel_kit \
$ --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/path/to/ngx_php7
$ <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">&&</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">make</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span>
</pre>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="75"> </p>
<h3 id="centos-redhat-7" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">CentOS / RedHat 7</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="77"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">yum -y <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> https://extras.getpagespeed.com/release-el7-latest.rpm
yum -y <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-utils
yum-config-manager --enable remi-php73
yum <span class="token function" style="color: rgba(121, 93, 163, 1)">install</span> nginx-module-php7
</pre>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">编辑 <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">nginx.conf</code> 并在顶部加载所需的模块:</p>
<pre class="language-text">load_module modules/ndk_http_module.so;
load_module modules/ngx_http_php_module.so;
</pre>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="89"> </p>
<h3 id="docker" class="mume-header" style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.5em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Docker</h3>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="91"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">$ docker build -t nginx-php7 <span class="token keyword" style="color: rgba(0, 134, 179, 1)">.</span>
$ <span class="token keyword" style="color: rgba(0, 134, 179, 1)">:</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"app.conf: Create nginx config"</span>
$ docker run -p 80:80 -v <span class="token variable">$PWD</span>/app.conf:/etc/nginx/conf.d/default.conf nginx-php7
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">概要</h2>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="101"> </p>
<pre class="language-nginx" data-role="codeBlock" data-info="nginx"><span class="token keyword" style="color: rgba(167, 29, 93, 1)">worker_processes</span>auto<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">events</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">worker_connections</span><span class="token number" style="color: rgba(0, 134, 179, 1)">102400</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">http</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> mime<span class="token punctuation">.</span><span class="token keyword" style="color: rgba(167, 29, 93, 1)">types</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span>application<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>octet<span class="token operator" style="color: rgba(167, 29, 93, 1)">-</span>stream<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">keepalive_timeout</span><span class="token number" style="color: rgba(0, 134, 179, 1)">65</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">client_max_body_size</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">64</span>k<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">client_body_buffer_size</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">64</span>k<span class="token punctuation">;</span>
php_ini_path <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>usr<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>local<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>etc<span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php<span class="token punctuation">.</span>ini<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">server</span> <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">listen</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">80</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">server_name</span>localhost<span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'application/json; charset=UTF-8'</span><span class="token punctuation">;</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"hello ngx_php7"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_request <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_request_document_uri</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># curl /ngx_get?a=1&b=2</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_get <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_query_args()\n"</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_query_args</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># curl -d 'a=1&b=2' /ngx_post</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_post <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_post_args()\n"</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_post_args</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_sleep <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_sleep start\n"</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_sleep</span><span class="token punctuation">(</span><span class="token number" style="color: rgba(0, 134, 179, 1)">1</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
echo <span class="token string" style="color: rgba(24, 54, 145, 1)">"ngx_sleep end\n"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_socket2 <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">default_type</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">'application/json;charset=UTF-8'</span><span class="token punctuation">;</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token variable">$fd</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_create</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_connect</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"hq.sinajs.cn"</span><span class="token punctuation">,</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">80</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$send_buf</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> "GET <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>list<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>s_sh000001 <span class="token keyword" style="color: rgba(167, 29, 93, 1)">HTTP</span><span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span><span class="token number" style="color: rgba(0, 134, 179, 1)">1.0</span>\r\n
Host<span class="token punctuation">:</span> hq<span class="token punctuation">.</span>sinajs<span class="token punctuation">.</span>cn\r\nConnection<span class="token punctuation">:</span> close\r\n\r\n"<span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_send</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token variable">$send_buf</span><span class="token punctuation">,</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">strlen</span><span class="token punctuation">(</span><span class="token variable">$send_buf</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token variable">$recv_buf</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">""</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_recv</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">,</span> <span class="token variable">$recv_buf</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token variable">$recv_buf</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
yield <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_socket_close</span><span class="token punctuation">(</span><span class="token variable">$fd</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_var <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">set</span> <span class="token variable">$a</span> <span class="token number" style="color: rgba(0, 134, 179, 1)">1234567890</span><span class="token punctuation">;</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token variable">$a</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_var_get</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"a"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">var_dump</span><span class="token punctuation">(</span><span class="token variable">$a</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># set content-type of response headers</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>ngx_header <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_header_set</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"Content-Type"</span><span class="token punctuation">,</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"text/html; charset=UTF-8"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># run a php file</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span>php <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> <span class="token string" style="color: rgba(24, 54, 145, 1)">"name_of_php_file.php"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token comment" style="color: rgba(150, 152, 150, 1)"># run any php file in root</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">location</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span> <span class="token operator" style="color: rgba(167, 29, 93, 1)">/</span> <span class="token punctuation">{</span>
content_by_php_block <span class="token punctuation">{</span>
<span class="token keyword" style="color: rgba(167, 29, 93, 1)">include</span> <span class="token function" style="color: rgba(121, 93, 163, 1)">ngx_var_get</span><span class="token punctuation">(</span><span class="token string" style="color: rgba(24, 54, 145, 1)">"uri"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">测试</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">使用Test :: Nginx模块的perl进行测试,搜索和发现ngx_php7中的问题。</p>
<p class="sync-line" style="margin: 0; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px" data-line="215"> </p>
<pre class="language-bash" data-role="codeBlock" data-info="sh">ngx_php7 <span class="token function" style="color: rgba(121, 93, 163, 1)">test</span> <span class="token punctuation">..</span>.
nginx version: nginx/1.12.2
built by gcc 4.8.4 <span class="token punctuation">(</span>Ubuntu 4.8.4-2ubuntu1~14.04.3<span class="token punctuation">)</span>
configure arguments: --prefix<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>/home/travis/build/rryqszq4/ngx_php7/build/nginx --with-ld-opt<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>-Wl,-rpath,/home/travis/build/rryqszq4/ngx_php7/build/php/lib --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token punctuation">..</span>/<span class="token punctuation">..</span>/<span class="token punctuation">..</span>/ngx_php7/third_party/ngx_devel_kit --add-module<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span><span class="token punctuation">..</span>/<span class="token punctuation">..</span>/<span class="token punctuation">..</span>/ngx_php7
t/001-hello.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/002-ini.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/003-error.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/004-ngx_request.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/005-ngx_log.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/006-ngx_sleep.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/007-ngx_socket.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/008-ngx_exit.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/009-ngx_query_args.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/010-ngx_post_args.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/011-ngx_constants.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/012-function.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/013-class.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/014-ngx_var.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/015-ngx_header.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> 1/? WARNING: TEST 2: <span class="token keyword" style="color: rgba(0, 134, 179, 1)">set</span> content-length of response headers - unexpected extra bytes after last chunk <span class="token keyword" style="color: rgba(0, 134, 179, 1)">in</span> response: <span class="token string" style="color: rgba(24, 54, 145, 1)">"Testing ngx_header!\x{0a}"</span>
t/015-ngx_header.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/016-rewrite_by_php.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/017-ngx_redirect.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/018-ngx_mysql.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/019-php_set.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>. ok
t/020-ngx_cookie.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/021-content_by_php_block.t <span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span> ok
t/022-init_worker_by_php_block.t <span class="token punctuation">..</span> ok
All tests successful.
Files<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>22, Tests<span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>84, 14 wallclock secs <span class="token punctuation">(</span> 0.09 usr0.02 sys +2.19 cusr0.43 csys <span class="token operator" style="color: rgba(167, 29, 93, 1)">=</span>2.73 CPU<span class="token punctuation">)</span>
Result: PASS
</pre>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">指令</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">php_ini_path</li>
<li style="margin-bottom: 0">init_worker_by_php</li>
<li style="margin-bottom: 0">init_worker_by_php_block</li>
<li style="margin-bottom: 0">rewrite_by_php</li>
<li style="margin-bottom: 0">rewrite_by_php_block</li>
<li style="margin-bottom: 0">access_by_php</li>
<li style="margin-bottom: 0">access_by_php_block</li>
<li style="margin-bottom: 0">content_by_php</li>
<li style="margin-bottom: 0">content_by_php_block</li>
<li style="margin-bottom: 0">log_by_php</li>
<li style="margin-bottom: 0">log_by_php_block</li>
<li style="margin-bottom: 0">header_filter_by_php</li>
<li style="margin-bottom: 0">header_filter_by_php_block</li>
<li style="margin-bottom: 0">body_filter_by_php</li>
<li style="margin-bottom: 0">body_filter_by_php_block</li>
<li style="margin-bottom: 0">php_keepalive</li>
<li style="margin-bottom: 0">php_set</li>
<li style="margin-bottom: 0">php_socket_keepalive</li>
<li style="margin-bottom: 0">php_socket_buffer_size</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_ini_path</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_ini_path</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php.ini file path></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">loading-config</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">该指令允许加载正式的php配置文件php.ini,该文件将由后续的PHP代码使用。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">init_worker_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">init_worker_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">starting-worker</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">init_worker_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">init_worker_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">starting-worker</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">rewrite_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the rewrite phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">rewrite_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the rewrite phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">access_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the access phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">access_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">access</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the access phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">content_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the content phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">content_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">content</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In the content phase of nginx, you can execute inline php code.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">log_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">log_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">header_filter_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">header_filter_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-header-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">header_filter_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">header_filter_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-header-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">body_filter_by_php</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">body_filter_by_php</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-body-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">body_filter_by_php_block</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">body_filter_by_php_block</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">{php script code}</code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">output-body-filter</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_keepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_keepalive</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">0</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">In php, set upstream connection pool size.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_set</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">$variable</code></em> <em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><php script code></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">phase:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">loading-config</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">Installs a php handler for the specified variable.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_socket_keepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_socket_keepalive</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">0</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">php_socket_buffer_size</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">php_socket_buffer_size</code><em><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important"><size></code></em></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">default:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">4k</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">http, server, location, location if</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx API for php</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">ngx_php7
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 0">
<li style="margin-bottom: 0">Table of contents</li>
<li style="margin-bottom: 0">官方php有什么不同</li>
<li style="margin-bottom: 0">运行条件</li>
<li style="margin-bottom: 0">安装
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 0">
<li style="margin-bottom: 0">编译安装</li>
<li style="margin-bottom: 0">CentOS / RedHat 7</li>
<li style="margin-bottom: 0">Docker</li>
</ul>
</li>
<li style="margin-bottom: 0">概要</li>
<li style="margin-bottom: 0">测试</li>
<li style="margin-bottom: 0">指令</li>
<li style="margin-bottom: 0">php_ini_path</li>
<li style="margin-bottom: 0">init_worker_by_php</li>
<li style="margin-bottom: 0">init_worker_by_php_block</li>
<li style="margin-bottom: 0">rewrite_by_php</li>
<li style="margin-bottom: 0">rewrite_by_php_block</li>
<li style="margin-bottom: 0">access_by_php</li>
<li style="margin-bottom: 0">access_by_php_block</li>
<li style="margin-bottom: 0">content_by_php</li>
<li style="margin-bottom: 0">content_by_php_block</li>
<li style="margin-bottom: 0">log_by_php</li>
<li style="margin-bottom: 0">log_by_php_block</li>
<li style="margin-bottom: 0">header_filter_by_php</li>
<li style="margin-bottom: 0">header_filter_by_php_block</li>
<li style="margin-bottom: 0">body_filter_by_php</li>
<li style="margin-bottom: 0">body_filter_by_php_block</li>
<li style="margin-bottom: 0">php_keepalive</li>
<li style="margin-bottom: 0">php_set</li>
<li style="margin-bottom: 0">php_socket_keepalive</li>
<li style="margin-bottom: 0">php_socket_buffer_size</li>
<li style="margin-bottom: 0">Nginx API for php</li>
<li style="margin-bottom: 0">ngx_exit</li>
<li style="margin-bottom: 0">ngx_query_args</li>
<li style="margin-bottom: 0">ngx_post_args</li>
<li style="margin-bottom: 0">ngx_log_error</li>
<li style="margin-bottom: 0">ngx_request_method</li>
<li style="margin-bottom: 0">ngx_request_document_root</li>
<li style="margin-bottom: 0">ngx_request_document_uri</li>
<li style="margin-bottom: 0">ngx_request_script_name</li>
<li style="margin-bottom: 0">ngx_request_script_filename</li>
<li style="margin-bottom: 0">ngx_request_query_string</li>
<li style="margin-bottom: 0">ngx_request_uri</li>
<li style="margin-bottom: 0">ngx_request_server_protocol</li>
<li style="margin-bottom: 0">ngx_request_remote_addr</li>
<li style="margin-bottom: 0">ngx_request_server_addr</li>
<li style="margin-bottom: 0">ngx_request_remote_port</li>
<li style="margin-bottom: 0">ngx_request_server_port</li>
<li style="margin-bottom: 0">ngx_request_server_name</li>
<li style="margin-bottom: 0">ngx_request_headers</li>
<li style="margin-bottom: 0">ngx_var_get</li>
<li style="margin-bottom: 0">ngx_var_set</li>
<li style="margin-bottom: 0">ngx_header_set</li>
<li style="margin-bottom: 0">ngx_header_get</li>
<li style="margin-bottom: 0">ngx_header_gets</li>
<li style="margin-bottom: 0">ngx_redirect</li>
<li style="margin-bottom: 0">ngx_cookie_get_all</li>
<li style="margin-bottom: 0">ngx_cookie_get</li>
<li style="margin-bottom: 0">ngx_cookie_set</li>
<li style="margin-bottom: 0">Nginx non-blocking API for php</li>
<li style="margin-bottom: 0">ngx_sleep</li>
<li style="margin-bottom: 0">ngx_msleep</li>
<li style="margin-bottom: 0">ngx_socket_create</li>
<li style="margin-bottom: 0">ngx_socket_iskeepalive</li>
<li style="margin-bottom: 0">ngx_socket_connect</li>
<li style="margin-bottom: 0">ngx_socket_close</li>
<li style="margin-bottom: 0">ngx_socket_send</li>
<li style="margin-bottom: 0">ngx_socket_recv</li>
<li style="margin-bottom: 0">ngx_socket_recvpage</li>
<li style="margin-bottom: 0">ngx_socket_recvsync</li>
<li style="margin-bottom: 0">ngx_socket_clear</li>
<li style="margin-bottom: 0">Nginx 常量</li>
<li style="margin-bottom: 0">版本常量</li>
<li style="margin-bottom: 0">log constants for php</li>
<li style="margin-bottom: 0">status constants for php</li>
<li style="margin-bottom: 0">http status constants for php</li>
<li style="margin-bottom: 0">版权和许可</li>
</ul>
</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_exit</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_exit(int $status) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">status: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">当前请求结束并返回http状态代码。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_query_args</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_query_args(void) : array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx::query_args(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">通过URL参数(即查询字符串)传递给当前脚本的变量的关联数组。<br>而不是PHP官方常量$ _GET。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_post_args</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_post_args(void) : array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx::post_args(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">通过HTTP POST方法传递给当前脚本的变量的关联数组<br>在请求中使用application / x-www-form-urlencoded或multipart / form-data作为HTTP Content-Type时。<br>而不是php官方常量$ _POST。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_log_error</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_log_error(int $level, string $log_str) : void</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_log::error(int $level, string $log_str) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">level: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">log_str: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_method</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_method(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::method(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">使用哪种请求方法来访问页面,例如“ GET”,“ POST”,“ PUT”,“ DELETE”等等。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_document_root</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_document_root(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::document_root(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">服务器配置文件中定义的当前脚本正在其下执行的文档根目录。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_document_uri</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_document_uri(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::document_uri(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_script_name</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_script_name(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::script_name(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">包含当前脚本的路径。 这对于需要指向自身的页面很有用。<br>__FILE__常量包含当前(包含)文件的完整路径和文件名。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_script_filename</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_script_filename(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::script_filename(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">当前正在执行的脚本文件名的绝对路径名。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_query_string</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_query_string(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::query_string(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">用于访问页面的查询字符串(如果有)。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_uri</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_uri(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::uri(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">为了访问该页面而给出的URI,例如'/index.html'。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_protocol</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_protocol(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_protocol(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">通过其请求页面的信息协议的名称和修订,例如“ HTTP / 1.0”。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_remote_addr</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_remote_addr(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::remote_addr(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">用户正在从中查看当前页面的IP地址。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_addr</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_addr(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_addr(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">当前脚本正在其下执行的服务器的IP地址。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_remote_port</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_remote_port(void) : int</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::remote_port(void) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">用户计算机上用于与Web服务器通信的端口。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_port</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_port(void) : int</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_port(void) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">Web服务器用于通信的服务器计算机上的端口。 对于默认设置,<br>这将是"80"; 例如,使用SSL会将其更改为您定义的安全HTTP端口。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_server_name</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_server_name(void) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::server_name(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">正在执行当前脚本的服务器主机的名称。<br>如果脚本在虚拟主机上运行,则将是为该虚拟主机定义的值。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_request_headers</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request_headers(void): array</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_request::headers(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">获取http请求的标头完整信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_var_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var_get(string $key) : string</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var::get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">在nginx配置中获取变量。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_var_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var_set(string $key, string $value) : void</code> or <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_var::set(string $key, string $value) : void</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">value: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">在nginx配置中设置变量。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_set(string $key, string $value) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">value: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">设置http响应的头信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">获取http响应的头信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_header_gets</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_header_gets(void) : array</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">获取http响应的标头完整信息。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_redirect</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_redirect(string $uri, int $status) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">uri: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">status: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">设置响应头重定向。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_get_all</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_get_all(void) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_get</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_get(string $key) : string</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">key: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_cookie_set</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_cookie_set(string $data): bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">data: string</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx non-blocking API for php</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">yield ngx_sleep</li>
<li style="margin-bottom: 0">yield ngx_msleep</li>
<li style="margin-bottom: 0">ngx_socket_create</li>
<li style="margin-bottom: 0">ngx_socket_iskeepalive</li>
<li style="margin-bottom: 0">yield ngx_socket_connect</li>
<li style="margin-bottom: 0">yield ngx_socket_close</li>
<li style="margin-bottom: 0">yield ngx_socket_send</li>
<li style="margin-bottom: 0">yield ngx_socket_recv</li>
<li style="margin-bottom: 0">yield ngx_socket_recvpage</li>
<li style="margin-bottom: 0">ngx_socket_recvsync</li>
<li style="margin-bottom: 0">ngx_socket_clear</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_sleep</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">yield ngx_sleep(int seconds)</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">secodes: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">将程序执行延迟给定的秒数。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_msleep</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">yield ngx_msleep(int milliseconds)</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">milliseconds: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">将程序执行延迟给定的毫秒数。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_create</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_create(int $domain, int $type, int $protocol) : resource</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">domain: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">type: int</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">protocol: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">创建并返回套接字资源,也称为通信的端点。<br>典型的网络连接由2个套接字组成,其中一个充当客户端的角色,<br>另一个执行服务器的角色。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_iskeepalive</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_iskeepalive(void) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">void</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_connect</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_connect(resource $socket, string $address, int $port) ) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">address: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">port: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">使用套接字资源套接字启动到地址的连接,该套接字必须是有效的<br>使用ngx_socket_create()创建的套接字资源。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_close</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_close(resource $socket) ) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_socket_close()关闭套接字给定的套接字资源。 此功能特定于<br>套接字,不能在任何其他类型的资源上使用。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_send</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_send(resource $socket, string $buf, int $len) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">函数ngx_socket_send()将len个字节从buf发送到套接字套接字。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recv</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_recv(resource $socket, string &$buf, int $len) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">ngx_socket_recv()函数从套接字接收buf中的len字节数据。 ngx_socket_recv()可以是<br>用于从连接的套接字收集数据。</p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">buf通过引用传递,因此必须在参数列表中将其指定为变量。<br>ngx_socket_recv()从套接字读取的数据将以buf返回。</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recvpage</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">( yield ngx_socket_recvpage(resource $socket, string &$buf, int &$rc) ) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rc: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_recvsync</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_recvsync(resource $socket, string &$buf, int $len) : int</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">buf: string</code></li>
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">len: int</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">ngx_socket_clear</h2>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">syntax:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">ngx_socket_recv(resource $socket) : bool</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">parameters:</strong></p>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0"><code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">socket: resource</code></li>
</ul>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px"><strong style="color: rgba(0, 0, 0, 1)">context:</strong> <code style="color: rgba(0, 0, 0, 1); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; background-color: rgba(240, 240, 240, 1); border-radius: 3px; padding: 0.2em 0; font-size: 0.85em !important">rewrite_by_php*, access_by_php*, content_by_php*</code></p>
<p style="margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">Close the socket resource and is blocking but hight performance.</p>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">Nginx 常量</h2>
<ul style="padding-left: 2em; margin-top: 0; margin-bottom: 16px; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<li style="margin-bottom: 0">version constants</li>
<li style="margin-bottom: 0">log constants for php</li>
<li style="margin-bottom: 0">status constants for php</li>
<li style="margin-bottom: 0">http status constants for php</li>
</ul>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">版本常量</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX_VAR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGINX_VERSION</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">1.12.2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PHP_MODULE_VERSION</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0.0.21</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PHP_MODULE_NAME</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">ngx_php</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">log constants for php</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_OK</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-1</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_AGAIN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_BUSY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-3</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_DONE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-4</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_DECLINED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-5</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_ABORT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">-6</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">status constants for php</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_STDERR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">0</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_EMERG</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">1</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_ALERT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">2</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_CRIT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">3</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_ERR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">4</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_WARN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">5</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_NOTICE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">6</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_INFO</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">7</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_LOG_DEBUG</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">8</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">http status constants for php</h2>
<table style="margin: 10px 0 15px; border-spacing: 0; display: block; width: 865px; overflow: auto; word-break: keep-all; color: rgba(51, 51, 51, 1); font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; font-size: 16px">
<thead>
<tr><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">name</th><th style="color: rgba(0, 0, 0, 1); border-color: rgba(214, 214, 214, 1); padding: 6px 13px">value</th></tr>
</thead>
<tbody>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CONTINUE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">100</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SWITCHING_PROTOCOLS</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">101</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PROCESSING</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">102</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_OK</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">200</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CREATED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">201</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_ACCEPTED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">202</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NO_CONTENT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">204</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PARTIAL_CONTENT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">206</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SPECIAL_RESPONSE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">300</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_MOVED_PERMANENTLY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">301</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_MOVED_TEMPORARILY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">302</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SEE_OTHER</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">303</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_MODIFIED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">304</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_TEMPORARY_REDIRECT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">307</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PERMANENT_REDIRECT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">308</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_BAD_REQUEST</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">400</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_UNAUTHORIZED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">401</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_FORBIDDEN</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">403</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_FOUND</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">404</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_ALLOWED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">405</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_TIME_OUT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">408</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CONFLICT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">409</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_LENGTH_REQUIRED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">411</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_PRECONDITION_FAILED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">412</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_ENTITY_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">413</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_URI_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">414</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_UNSUPPORTED_MEDIA_TYPE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">415</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_RANGE_NOT_SATISFIABLE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">416</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CLOSE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">444</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NGINX_CODES</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">494</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_REQUEST_HEADER_TOO_LARGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">494</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTPS_CERT_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">495</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTPS_NO_CERT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">496</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_TO_HTTPS</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">497</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_CLIENT_CLOSED_REQUEST</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">499</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_INTERNAL_SERVER_ERROR</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">500</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_NOT_IMPLEMENTED</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">501</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_BAD_GATEWAY</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">502</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_SERVICE_UNAVAILABLE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">503</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_GATEWAY_TIME_OUT</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">504</td>
</tr>
<tr>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">NGX_HTTP_INSUFFICIENT_STORAGE</td>
<td style="border-color: rgba(214, 214, 214, 1); padding: 6px 13px">507</td>
</tr>
</tbody>
</table>
<h2 style="line-height: 1.2; margin-top: 1em; margin-bottom: 16px; font-size: 1.75em; padding-bottom: 0.3em; font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif">版权和许可</h2>
</div>
<div id="MySignature" role="contentinfo">
QQ一群 <span style="color: red">247823727 </span><br>
QQ二群 <span style="color: red">166427999 </span><br>
<span style="color: #FF4000">如果项目有技术瓶颈问题</span>,请联系↓↓<br>
QQ:
<span style="color: red">903464207</span><br>
微信:
<span style="color: red">zx903464207</span><br><br><br>
来源:https://www.cnblogs.com/zx-admin/p/13029750.html
頁:
[1]