2017-11-11 164 views
0

我在项目工作执行的NodeJS程序,使用净化,CSS如何在PHP

https://github.com/purifycss/purifycss 

中,我已经安装了新公共管理服务器上的净化,CSS,现在我想执行如下命令通过PHP和我使用exec()方法。

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

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

回答

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文件。这是部署脚本的工作。

+0

Thankx,我已经检查了正确的工作目录,并且使用了正确的路径。还有别的事吗?我正在尝试gulp命令。感谢您的帮助 – mohitesachin217

+0

看看这个存储库https://github.com/kisphp/api.tools.symfony/tree/master/app/gulp/web看看我是如何做到的。这应该是一个好的开始。您需要在项目的根目录下使用package.json。你也可以看看这个关于gulp的教程https://knpuniversity.com/screencast/gulp –

+0

thankx man..You is awesome .. – mohitesachin217