运行 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 脚本。
现在我想要实现的目标看起来更像是:
- 从节点定义要调用哪个 php 文件
- 向它传递参数,以便 php 代码具有上下文(有效负载、参数、header...)
- 回读 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.