从nodejs实例运行PHP


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的cgi脚本并返回结果。

现在我想要实现的,看起来更像:

  1. 从节点定义调用哪个php文件
  2. 传递参数给它,所以php代码有上下文(有效载荷,参数,头…)
  3. 读取php代码响应(最好是json格式)

是否有使用nodejs的方式,或者我需要一个web调用像建议调用PHP方法从nodejs ?

不必启动php web服务器将是可取的将需要更多的设置和我的项目不会"开箱工作",我更喜欢只是安装php5,它已经完成了(我猜它安全的内存/进程以及这些调用应该经常使用)

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

输出取决于你的代码,所以只要确保在返回时调用json_encode()

下面是如何首先将数据作为stdin传递的文档