无法在PHP中执行节点模块

安装必要的模块后,执行以下命令

azure account -help 

按预期工作。 但是,当我使用exec()从PHP内部调用相同的命令时。

exec('azure account -help',$output,$responseCode)

并打印输出,我明白了

$ output:[](空数组)和$ responseCode:8

我试着用命令'node'来执行模块。 防爆

节点/usr/lib/node_modules/azure-cli/bin/azure.js帐户 - 帮助

这也适用于命令行,但不能通过PHP的exec。

编辑:使用以下命令重定向stderr:

exec('azure account -help &2>1',$output,$responseCode)

给出了这些细节:

,E === undefined)&&(process.env.HOMEDRIVE === undefined))){抛出新的错误(,^,错误:HOME未找到,无法存储Streamline回调缓存,在Object。(/ usr / local /lib/node_modules/azure-cli/node_modules/streamline/lib/compiler/compile.js:278:90),在Module._compile(module.js:456:26)处,在Object.Module._extensions..js( Module.js:474:10),在Module.load(module.js:356:32),在Function.Module._load(module.js:312:12),在Module.require(module.js:364: 17),在要求(module.js:380:17),在对象。(/usr/local/lib/node_modules/azure-cli/node_modules/streamline/lib/compiler/register.js:28:15),在Module._compile(module.js:456:26),位于Object.Module._extensions..js(module.js:474:10)

我可以尝试进一步调试吗?


通过调用exec()并提供一个HOME env变量解决了该问题:

exec('HOME = / tmp / azure account -help 2>&1');

链接地址: http://www.djcxy.com/p/33023.html

上一篇: Unable to execute a node module within PHP

下一篇: Sailsjs: Server crash after using create blueprint with mongodb