Ama*_*san 6 javascript php node.js
我正在尝试使用以下命令从 PHP 脚本调用节点脚本exec:
$output = exec("/usr/bin/node /home/user/nodescript.js");
Run Code Online (Sandbox Code Playgroud)
nodescript.js 是:
var Scraper = require('google-images-scraper');
var keywords = process.argv[2];
var scraper = new Scraper({
keyword: keywords,
rlimit: 10, // 10 p second
});
console.log("foo");
scraper.list(10).then(function (res) {
console.log("bar");
console.log(res);
});
setTimeout(function () {
process.exit(1);
}, 20000)
Run Code Online (Sandbox Code Playgroud)
但我收到的是字符串“foo”,而不是“bar”。如果我从命令行运行节点脚本,我会得到“foo”和“bar”。不知何故,我在函数内没有收到任何控制台输出。我究竟做错了什么?
小智 2
首先,你无法直接获取exec命令的输出。您需要按照文档中的方式定义第二个参数。
exec("node yourfile.js", $output);
echo implode("\n", $output);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10580 次 |
| 最近记录: |