Я получил приложение php на общем хосте в сети. Но есть сценарий кукловода nodejs, который запускается на моем персональном компьютере для извлечения данных с веб-сайта, права которого есть только у моего пользователя.
Есть ли способ заставить приложение PHP запускать скрипт nodejs, отправлять параметры, ждать результата и обновлять страницу после того, как все будет сделано?
Я пробовал exec, но не работает.
exec("node server:80/jsFunction.js --test=", $test);
Много способов справиться с этим. Самый простой и простой способ — настроить сервер на вашем (или целевом) компьютере, а затем просто передать запрос. Это позволит индивидуально контролировать скрипт узла и 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)
Других решений пока нет …