PHP выполняет nodejs с другого сервера

Я получил приложение php на общем хосте в сети. Но на моем персональном компьютере запускается скрипт кукловода nodejs, который извлекает данные с веб-сайта, права которого есть только у моего пользователя. Есть ли способ заставить приложение PHP запускать скрипт nodejs, отправлять параметры, ждать результата и обновлять страницу после того, как все будет сделано?

Я пробовал exec, но не работает.

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

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)
Другие вопросы по тегам