我正在开发使用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()函数中的此命令不起作用。我不知道为什么?提前致谢。如果你注意到某些事情,请指出。
答案 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文件。这是部署脚本的工作。