如何在 php 中执行 nodejs 程序

how to execute nodejs programs in php

我正在从事使用 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

但命令不是 working.If 我直接在终端中使用相同的命令然后它工作正常。所有其他命令,如 "mkdir" 和所有其他命令都工作正常,但 PHP exec() 函数中的此命令不是 working.I 不知道为什么?。提前致谢。如果您注意到什么,请指出。

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

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

我还建议您使用这个工具 https://symfony.com/doc/current/components/process.html,它已经过测试,涵盖的用例比您使用 exec 函数所能做的更多。

最后,我强烈建议创建一个 gulp 命令并从终端执行该命令。或者你可以使用 webpack 或 g运行t 如果你更熟悉那些。我找不到 php 应用程序应该知道如何生成自己的样式和 js 文件的用例。这是部署脚本的工作。