Я пытаюсь создать сервер NodeJS, который, используя child_process, упорядочивает объект и отправляет его в файл php для обработки, а затем ожидает результата. Моя проблема в том, что я не могу понять, как отправить свои данные в сценарий php для обработки, потому что когда он поступает в сценарий, данные больше не являются строкой, способной json_decode. Вот мой код NodeJs:
dataString=JSON.stringify(data.user);
child_process.exec('php '+global.defaultPath+'php_functions\\authenticate.php ' + dataString, function (err, stdout, stderr){
if (err) {
console.log(err);
}
stdout=JSON.parse(stdout);
if (stdout.status==1) global.connections[connection.suid].uid=stdout.uid;
});
А вот и начало файла authenticate.php:
if (empty($argv[1])) {
echo "No user to authenticate...";
exit;
}
$user=json_decode($argv[1]);
Функция json_decode в файле php всегда возвращает ноль, а код ошибки равен 4 (СИНТАКСИС ПЛОХОЙ). Если я регистрирую dataString в скрипте сервера, он возвращает:
{"uid":"1","accounthash":"4971b021ad2824fd42848e06bdce4d2b","suid":"xgv7-1"}
но когда он прибывает в скрипт php, «метки отсутствуют»:
{uid:1,accounthash:4971b021ad2824fd42848e06bdce4d2b,suid:xgv7-1}
Как я могу отправить объект JavaScript в сценарий PHP?
EX:
php -f authenticate.php "{\"uid\":\"1\",\"accounthash\":\"4971b021ad2824fd42848e06bdce4d2b\",\"suid\":\"xgv7-1\"}"
Других решений пока нет …