2016-09-20 124 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