2016-09-20 102 views
0

我很抱歉,如果這已被覆蓋,但我確實做了大量搜索並找不到答案。Laravel 5查看緩存

首先,我使用刀片。當我在本地更新視圖時,頁面會更新並正確顯示。但是,當我將文件上傳到託管服務器時,我看不到更改。我已經等了24小時,什麼也沒有。

起初我以爲這是我的服務器緩存提供程序,但我禁用了該功能..當我從服務器上的app/storage/framework/views中刪除文件時,新視圖將正確顯示。所以,這顯然是Laravel的事!

本地和生產之間的一切都是一樣的(除了.env文件),所以我不知道還有什麼可以嘗試的。

任何建議,將不勝感激,因爲我的業務是字面上擱置,直到我可以弄清楚。

+0

您是否嘗試用工匠命令清除緩存?看看這個答案http://stackoverflow.com/questions/29152102/laravel-5-clear-views-cache –

+0

我沒有shell訪問我的服務器。有沒有辦法做到這一點編程?我想可以給index.php添加一行。 – aserwin

+0

是的,你可以。 https://laravel.com/docs/5.3/artisan#programatically-executing-commands –

回答

0

如果您沒有運行artisan命令的shell訪問權限,您可以創建一個虛擬路徑來執行此操作。 (感覺像一個骯髒的解決方案:))

Route::get('/clearViews', function() { 
    Artisan::call('view:clear', []); 
    // 
}); 
+0

這很棒......但我正試圖找出爲什麼會發生這種情況。我不希望每次上傳更新視圖時都必須運行此命令。 (與每次刪除視圖文件無異) – aserwin

+0

您是否有權訪問php.ini? –

+0

我相信我有我自己的個人php.ini,但我沒有直接訪問它。可能他們會爲我更新...你在想opcache嗎? – aserwin