如何在php中执行nodejs程序

时间:2017-11-11 07:48:41

标签: php npm exec nodes purifycss

我正在开发使用purify-css

的项目
 https://github.com/purifycss/purifycss

我已经在服务器上用npm安装了purify-css,现在我想通过PHP执行下面显示的命令,我正在使用exec()方法。

   purifycss css/final_css.css test1.html --min --out bootstrap-purify-1.css --info --rejected

但命令不起作用。如果我在终端中直接使用相同的命令,那么它工作正常。所有其他命令,如“mkdir”和所有其他命令工作正常但PHP exec()函数中的此命令不起作用。我不知道为什么?提前致谢。如果你注意到某些事情,请指出。

1 个答案:

答案 0 :(得分:1)

这取决于您运行该命令的目录。如果你在php中调用exec或其他函数来执行linux命令,那将在php文件所在的目录中运行。您可以执行pwd命令以查看命令在哪个目录中运行,如果不是项目的根目录,则可以更改它

exec('cd /path/to/dir && purifycss ...');

我还建议您使用此工具https://symfony.com/doc/current/components/process.html,该工具经过测试并涵盖了比使用exec函数更多的用例。

作为最后的评论,我强烈建议创建一个gulp命令并从终端执行该命令。或者,如果您对这些更熟悉,可以使用webpack或grunt。我没有找到一个用例,php应该知道如何生成自己的样式和js文件。这是部署脚本的工作。