【问题标题】:Running PHP from nodejs instance从 nodejs 实例运行 PHP
【发布时间】:2015-07-14 10:58:20
【问题描述】:

我想像https://www.npmjs.com/package/node-php 一样用nodejs 运行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 或者我需要像 Call PHP methods from NodeJS 那样进行网络通话?

不必启动 php 网络服务器会更好,这需要更多设置,而且我的项目不会“开箱即用”,我更喜欢只安装 php5 并完成(我猜它也是安全内存/进程)因为这些调用应该经常使用)

【问题讨论】:

    标签: php node.js express fastcgi


    【解决方案1】:

    您可以通过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.

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-18
    • 2015-07-16
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 2018-04-11
    相关资源
    最近更新 更多