无法在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