来自 PHP exec() 的节点模块命令不起作用

Node Module command from PHP exec() not working

从终端运行正常,returns 预期结果:

/Users/me/Desktop/Clients/IM/apps/node_modules/.bin/mjml newslettercode.html

这在终端

中也能正常工作
node node_modules/.bin/mjml newslettercode.html

这在终端

中也能正常工作
node_modules/.bin/mjml newslettercode.html

我 运行 MAMP 和域作为我的开发。

从我的浏览器中的 .php 文件中,我得到 exec() 错误 127 并且没有输出。

本次测试代码:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

define('ROOT_DIR', realpath(__DIR__.'/..'));

$file =  ROOT_DIR.'/apps/node_modules/.bin/mjml newslettercode.html';

exec($file, $output, $responseCode);

print_r ($file);

echo "<pre>";
print_r($output);
echo "</pre>";

echo "<pre>";
print_r($responseCode);
echo "</pre>";

Returns 这个:

/Users/me/Desktop/Clients/IM/apps/node_modules/.bin/mjml newslettercode.html

Array
(
)

127

我假设 Node 不在我的 MAMP 主机上 运行?我不确定.. 任何帮助将不胜感激。

问题出在应用程序路径中 php 仅使用 node /../..php 无法找到应用程序 尝试使用下面的命令应该可以解决问题:

@HamzaNig : /usr/bin/node mostly is the default path

@Joe : /usr/local/bin/node is the default path on his platform