1
我在基於php的應用程序中使用sass,並試圖使用--update選項,以便每次瀏覽器請求相應的css文件時都不會重新編譯sass代碼。當我在命令行上運行sass命令時,它按預期工作(sass文件更改後的編譯時間更長,如果沒有更短的編譯時間)。當我使用exec從php運行它時,似乎需要足夠長的時間才能每次都重新編譯它。任何想法爲什麼以及如何修復它?爲什麼從php exec運行時sass --update不會很快?
我在基於php的應用程序中使用sass,並試圖使用--update選項,以便每次瀏覽器請求相應的css文件時都不會重新編譯sass代碼。當我在命令行上運行sass命令時,它按預期工作(sass文件更改後的編譯時間更長,如果沒有更短的編譯時間)。當我使用exec從php運行它時,似乎需要足夠長的時間才能每次都重新編譯它。任何想法爲什麼以及如何修復它?爲什麼從php exec運行時sass --update不會很快?
看起來像是作爲Web服務器運行時的默認緩存位置的問題。使用--cache-location選項指定緩存目錄似乎可以解決問題並使其運行速度更快。
使用['microtime()'](http://php.net/microtime#example-670)來準確記錄所花費的時間長度。通過這種方式,您可以確定腳本中的其他內容不會導致問題。 – Treffynnon
是否做到了。還使用time命令(即time php script.php)從命令行運行腳本,它似乎運行得更快。也許與網絡服務器正在運行的用戶/權限有關? – netfire
這可能是一個原因。如果Web服務器沒有寫入該文件的權限,那麼它將始終認爲它已更改,因爲它無法更新它。嘗試將其設置爲777僅用於測試 - 以消除這是一個原因。 – Treffynnon