运行 PHP 来自 nodejs 实例

Running PHP from nodejs instance

我想 运行 php 使用 nodejs 就像 https://www.npmjs.com/package/node-php

这很好,但我想它只能与旧版本的 express 一起使用,而且这个 repo 看起来不再需要维护了。

看起来像

var php = require('php');
var app = express();
app.use("/", php.cgi("/path/to/wordpress")); 
app.listen(3000);

然后向 / 发出的每个以 .php 结尾的请求都会调用 运行 php 和 return 结果的 cgi 脚本。

现在我想要实现的目标看起来更像是:

  1. 从节点定义要调用哪个 php 文件
  2. 向它传递参数,以便 php 代码具有上下文(有效负载、参数、header...)
  3. 回读 php 代码响应(最好采用 json 格式)

有没有办法使用 nodejs 来做到这一点,或者我是否需要像为 Call PHP methods from NodeJS 提议的那样进行网络调用?

不必启动 php 网络服务器会更好,因为它需要更多设置,而我的项目不需要 "work out of the box",我更喜欢只安装 php5 就完成了(我想应该经常使用它安全的内存/进程以及这些调用)

您可以通过 stdin 传递输入,然后像普通文件一样用 fopen("php://stdin") 读取它(file_get_contents("php://input") 也可以)。这假定您只想 运行 一个简单的 PHP 脚本,而不是期望 HTTP 请求的所有方面的东西。

输出取决于您的代码,因此请务必在返回时调用 json_encode()

Here is the documentation for how to pass the data as stdin in the first place.