【问题标题】:PHP execute nodejs from another serverPHP从另一台服务器执行nodejs
【发布时间】:2018-05-23 21:50:36
【问题描述】:

我在网络上的共享主机上运行了一个 php 应用程序。但是有一个 nodejs puppeteer 脚本在我的个人计算机上运行,​​用于从只有我的用户有权限的网站中提取数据。 有没有办法让 PHP 应用运行 nodejs 脚本、发送参数、等待结果并在一切完成后刷新页面?

我试过 exec,但不工作。

exec("node server:80/jsFunction.js --test=", $test);

【问题讨论】:

    标签: php node.js web-scraping chromium puppeteer


    【解决方案1】:

    有很多方法来处理它。最简单直接的方法是在您的(或目标)计算机上设置服务器,然后简单地传递请求。这将能够单独控制节点脚本和 php 脚本。

    在您的 PHP 文件中,您可以简单地使用 file_get_contents

    $text="some data to pass";
    $homepage = file_get_contents("http://YOURPUBLICIPADDRESS:3000/?text=$text");
    echo $homepage;
    

    在你的节点 api 上,你可以有一些路由从那里处理 jsFunction,假设它是一个承诺,我可能可以使用 expressJS 来处理它。

    var express = require('express')
    var jsFunction = require('./jsFunction')
    var app = express()
    
    app.get('/', function (req, res) {
      jsFunction(req.query.text).then(data=>res.send({data}))
    })
    
    app.listen(3000)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 2017-03-29
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多