2017-10-22 41 views
1

我做了这个代码的批处理文件(.bat):为什么'node'不能被PHP识别为内部或外部命令,可执行程序或批处理文件?

node -v 
PAUSE 

当我通过我的Windows VPS(服务器2012)启动它的作品和表演v6.11.4预期。

但我做到这一点在PHP中时:

echo exec("C:\\WINDOWS\\system32\\cmd.exe /c START C:\\xampp\\htdocs\\test.bat"); 

它开始在我的VPS的指令处理(我可以看到它),但它表明:

“节点”无法识别作为内部或外部命令,可操作程序或批处理文件。

我把它从法文翻译过来。原创:

'node'n'est pas reconnu en tant que commande interne ou externe,un programexécutableorou un fichier de commandes。

我把它搜索了很长时间,并尝试了不同的事情,但我无法修复它。所以我在这里寻求帮助。

什么可能是这种不同的行为的原因?

回答

1

节点可能不在执行该命令的用户的PATH变量中。运行echo $ PATH

+0

您好,感谢您的帮助,我在命令提示符下尝试了'echo%path%',这就是我得到的,节点似乎在路径中,并且它在我不执行时运行它通过PHP,就像我在我的问题中所说的那样。路径:https://pastebin.com/6tSBq2kT – Furtive

+0

运行php的帐户是否可以访问'node'命令? –

+0

@GillesGouaillardet你好,我该如何检查? – Furtive

相关问题