2017-11-11 163 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