我正在尝试创建一个为 PHP 脚本提供服务的网络服务器。目前,它的工作原理如下:
php index.phpphp从 STDOUT读取输出并将其返回给客户端除了参数没有传递给 PHP 脚本之外,所有这些都有效,因为:
var_dump($_GET);
Run Code Online (Sandbox Code Playgroud)
返回:
数组(0){}
$_GET调用时如何将参数传递给 PHP 二进制文件?
Zor*_*che 30
您使用的是哪个 PHP 二进制文件?CLI 还是 CGI?我怀疑你需要一个CGI 版本的 PHP 二进制文件来正确处理接受环境变量和 POST 数据(如果你通过了它)。
的php-cgi二进制实现CGI接口,它允许通过在命令行上的参数:
php-cgi -f index.php left=1058 right=1067 class=A language=English
Run Code Online (Sandbox Code Playgroud)
最终结果是$_GET:
Array
(
[left] => 1058
[right] => 1067
[class] => A
[language] => English
)
Run Code Online (Sandbox Code Playgroud)
您可能想了解CGI 的工作原理,以便在您的 Web 服务器中实现它。
参考:RFC3875