我尝试使用此函数从PHP执行node命令:
$output = shell_exec('node -v');
echo $output; // null
它返回null而不是版本。为什么它不起作用? Node.js安装在服务器上,并在从shell执行时工作。
答案 0 :(得分:1)
shell_exec函数的文档说
当发生错误或程序没有输出时,此函数可以返回NULL。使用此功能无法检测执行失败。当需要访问程序退出代码时,应使用exec()。
可能node -v
没有输出到stdout或者发生了另一个错误。您是否可以尝试其他程序,例如uptime
,还值得注意的是,如果您的PHP在safe_mode
中运行,它将无效。