【问题标题】:captureing output of nodejs via PHP exec通过 PHP exec 捕获节点 js 的输出
【发布时间】:2015-05-21 04:17:26
【问题描述】:

我正在尝试通过包装在 ajax 调用中的 PHP exec 从我的 node.js 脚本获取输出我认为我可以调用它并获得一些反馈,但 console.log 似乎没有返回输出变量

这就是我调用脚本的方式

$ex = exec('/usr/local/bin/node '.$path.'doAjax.js >/dev/null/ 2>&1 &',$_POST,$out);
var_dump($ex,$out);

在 doAjax.js 我做

console.log('hhhhhhhhhhhhh');

但我得到的只是输出

string(0) "" array(0) { }

还有其他方法可以输出或捕获它吗?

【问题讨论】:

  • exec() 的第二个参数应该是一个接收进程输出行数组的变量,第三个参数是一个接收进程退出代码的变量。因此,就您当前的代码而言,$_POST 应该附加输出行。你试过转储$_POST吗?

标签: javascript php ajax node.js exec


【解决方案1】:

是的,代码和输出在哪里切换,但我总是得到代码 8

我通过将代码移动到 httpd doc root 并更改为 shell_exec 半解决了这个问题

虽然我仍然需要确保 apache 无法显示节点代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 2015-09-16
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    相关资源
    最近更新 更多