2016-07-05 39 views
9

當我運行作曲家更新/安裝,然後當我運行php artisan緩存:清除。我得到了以下錯誤。Laravel 5.2 - bootstrap/cache/services.php丟失

[ErrorException] file_put_contents({應用根路徑} /bootstrap/cache/services.php):未能打開流:沒有這樣的文件或目錄

是否有任何命令能夠重新緩存文件?至於現在,不管我運行的什麼php工匠函數也會陷入同樣的​​錯誤。

p/s:如果您需要我提供任何進一步的調試信息,請在下面評論。

+0

php artisan命令在CLI中運行您的應用程序。當應用程序在CLI中運行時,我們不能使用某些服務器變量等等。所以這是導致這個錯誤。請檢查您的代碼並查看您在應用程序中使用'file_put_contents()'函數的位置。 –

回答

12

確保運行此命令:

sudo chmod 777 -R bootstrap/cache 
+1

好的,謝謝!如果找不到目錄,請通過執行'mkdir bootstrap/cache'來創建它。 –

+4

請勿在該文件夾上設置777,而應設置正確的組並僅允許對該組進行寫入訪問。請參閱此答案:http://stackoverflow.com/a/372​​66353/987864 – Daan

+0

5.4的有效響應。我最近在從5.3升級後遇到了這個問題。 – jhmilan

8

只需鍵入:

cd bootstrap/ 
mkdir cache 
cd.. 
composer install or sudo composer install 
+0

爲了安全起見,官方的建議是作曲家永遠不會以root或sudo身份運行。詳細的推理提供在這裏:https://getcomposer.org/root – aaronfarr

0

運行此命令

php artisan optimize --force 

它會創建services.php編譯。 php