这是一个简单的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;
?>
节点.js脚本只有一个变量结果,其中包含一个对象。
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;
?>