Это простой код PHP
<?php
ob_start(passthru('/usr/bin/env node getResult.js '));
$data = ob_get_contents();
ob_end_clean();
// console shows Data as String but $data is still empty
echo "Data : " . $data;
?>
И скрипт node.js просто имеет переменную result с объектом в нем.
console.log("skript startet");
var get = function(){
/*do stuff to get variable*/
result = "test;
console.log(result);
return result;
});
});
};
get();
Проблема: мне нужна переменная в скрипте getResult.js, но я не могу ее перехватить в php. Есть идеи ?
Зачем вообще беспокоиться о буфере вывода?
exec( '/usr/bin/env node getResult.js', $data );
echo "Data: " . $data;
exec()
записывает полный вывод команды в предоставленную переменную.
Это то, что тебе надо?
<?php
ob_start(); //note, no parameter here
passthru('/usr/bin/env node getResult.js '); // this should be captured
$data = ob_get_contents();
ob_end_clean();
echo "Data : " . $data;
?>