shell_exec命令js-beautify无法运行

时间:2019-02-27 13:14:52

标签: php laravel js-beautify

我正在尝试在控制器中运行此代码

echo shell_exec(' echo 3');
echo shell_exec('cat m.html | js-beautify  --type html -o m.html ; echo 43');
echo shell_exec(' echo 53');

我得到了输出

  

3   53

当我通过命令行运行同一命令时,文件m.html也没有被美化。

1 个答案:

答案 0 :(得分:0)

这可能与路径有关。您将需要提供m.htmljs-beautify可执行文件的完整路径。还要确保为Web服务器用户设置了相关的执行权限。

// get the location of m.html if it's in the same folder as your PHP file
$path = dirname(__FILE__) . '/m/html';
echo shell_exec("/path/to/js-beautify --type html -o $path -f $path');

可能值得删除-o文件,然后让输出进入标准输出,即传递回您的网页,以便您查看它是否正在写入同一文件。也许还要检查时间戳?

我还相信您可以将文件直接传递给js-beautify(或带有-f标志),这意味着如果读取文件时出现错误,您将看到js-beautify的错误而不是什么。