Chr*_*ian 5 php webserver cgi fastcgi mod-php
基本上,我试图弄清楚如何从"Web服务器"调用PHP.
我已经阅读了文档,但它没有多大帮助.
据我所知,有三种方法可以调用PHP:
php -f "/path/to/script.php")那么让我们从CGI开始吧.也许我只是盲目,但规范没有提到地球上的Web服务器如何将数据(标题和回调)传递给实现CGI的东西.FastCGI的情况更糟.
接下来,我们有特定于服务器的模块,我甚至不知道要搜索什么,因为所有的线索都无处可去.
调用CGI脚本非常简单.PHP有一些特点,但你基本上只需要设置一个环境变量列表,然后调用PHP-CGI二进制文件:
setenv GATEWAY_INTERFACE="CGI/1.1"
setenv SCRIPT_FILENAME=/path/to/script.php
setenv QUERY_STRING="id=123&name=title&parm=333"
setenv REQUEST_METHOD="GET"
...
exec /usr/bin/php-cgi
Run Code Online (Sandbox Code Playgroud)
其中大多数是样板.SCRIPT_FILENAME是如何将实际的php文件名传递给PHP解释器,而不是exec参数.PHP的关键也是非标准变量REDIRECT_STATUS=200.
对于GET请求,您只需要环境变量.对于POST请求,您只需将HTTP请求正文stdin传递给已执行的php-cgi二进制文件.返回的stdout是CGI响应,包含一个不完整的HTTP头,\ r \n\r \n和页面正文.
(仅仅是记忆.可能还有一些陷阱.)
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |