gpt4 book ai didi

php - 在没有 Apache(或其他网络服务器)的网络服务器 "environment"中执行 PHP

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:51 25 4
gpt4 key购买 nike

是否可以从不通过网络服务器与脚本交互的程序中执行 PHP 代码?最初,我想到了 CLI PHP 解释器,但它不包含网站请求常见的任何 $_SERVER 或 $_REQUEST 变量。

那么,如果可以效仿,又如何积累呢?我没有考虑任何特定的编程语言,因为我确信网络服务器和 php 之间存在一些独立于平台的通用接口(interface)。

这个问题的目的是构建一个可以作为网络服务器运行的 Node.JS 应用程序,然后(在需要时)可以执行 PHP 脚本(具有特定输入),获取响应,然后如果需要,可以在输出,然后写入客户端。

最佳答案

除非你想为 Node.JS 构建一个 PHP 模块,否则我认为 CLI 是你唯一的选择 - 你可以通过命令行传递所需的变量,我想没有什么可以反对在脚本中重建它们:

php -f myscript.php /websites/myscript domain.com 1.2.3.4.5

现在,理想的 方法是获取这些参数并将它们写入您随后在脚本中使用的变量。

如果您有一个利用 $_SERVER 的现有脚本,并且不想重写它,那么这将是一个可行但不优雅的解决方法。 (不雅,因为您通常不应该写入 $_SERVER$_GET 等。)

$_SERVER["REQUEST_URI"] = $argv[1];
$_SERVER["SERVER_NAME"] = $argv[2];
$_SERVER["REMOTE_ADDR"] = $argv[3];

CLI: Command line usage

(我不是相当确定像这样覆盖服务器变量是否符合犹太洁食标准,感觉有点不对。但它绝对适用于标准设置。我会问问 PHP 聊天室的人他们的想法...编辑:没有人真正喜欢它,但似乎没有任何重大缺点)

关于php - 在没有 Apache(或其他网络服务器)的网络服务器 "environment"中执行 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com