我的一个观点中有一个例外。但是,laravel没有告诉我视图的名称,所以我可以找到并修复它,而不是app/storage/views/110a3ecc0aa5ab7e6f7f50ef35a67a8b
,这是没有意义的。
如何禁用此视图缓存,以便laravel使用并引用实际文件?
答案 0 :(得分:20)
开箱即用?你不能。但是您可以扩展BladeCompiler类,覆盖方法resposible以检查视图是否已过期:
class MyBladeCompiler extends BladeCompiler {
public function isExpired($path)
{
if ( ! \Config::get('view.cache'))
{
return true;
}
return parent::isExpired($path);
}
}
您需要使用自己的编译器替换IoC容器中的BladeCompiler实例:
$app = App::make('app'); // or just $app = app();
$app->bindShared('blade.compiler', function($app)
{
$cache = $app['path.storage'].'/views';
return new MyBladeCompiler($app['files'], $cache);
});
然后你只需要在app / config / view.php文件中创建该密钥
<?php
return [
'cache' => false,
'paths' => [base_path().'/resources/views'],
'pagination' => 'pagination::slider-3',
];
或者,就像我在这里一样:
return [
'cache' => in_array(App::environment(), ['production', 'staging']),
];
答案 1 :(得分:8)
解决方案
打开php.ini
opcache.revalidate_freq=0
opcache.fast_shutdown=0
改变这个。重启apache。
答案 2 :(得分:1)
虽然有人会称之为粗略,但这是在我正在开发的小型应用程序上执行此操作的最快捷,最简单的方法
在我的路线指向的控制器上:
public function __construct()
{
exec('php /full/path/to/artisan view:clear');
}
答案 3 :(得分:1)
这对我有用...将其添加到.env文件
CACHE_EXPIRE=-1
答案 4 :(得分:0)
Laravel创建视图缓存文件,因为它被告知要这样做。在.env
文件中,您会遇到cache_driver
,该文件的默认属性为file
,将其更改为array
。
答案 5 :(得分:0)
检查您的.env文件 将CACHE_DRIVER =文件更改为CACHE_DRIVER = arra
答案 6 :(得分:0)
如果您有artisan
,则清除缓存很容易
php artisan view:clear
如果您没有artisan
(不知道为什么不想要它,这非常有用),则可以从项目的根源开始
cd storage/framework/views/
rm *.php
答案 7 :(得分:0)
但是聚会晚了一点。 我遇到了同样的问题:浏览器无法反映php代码的更改。
对我来说,简单的解决方案是:
将服务器上的时钟设置为与开发计算机相同的时间!
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://docs.google.com/gview?embedded=true&url=https://aip.xyz.org/Accident.pdf"));
startActivity(browserIntent);
答案 8 :(得分:0)
您也可以通过这种方式清除缓存:
// Clear cache in laravel
Route::get('/clear-cache', function() {
Artisan::call('cache:clear');
// return what you want
return "Cache is cleared";
});
答案 9 :(得分:-3)
在开发环境中,我只需添加和修改下一个:
bootstrap/start.php
$env = $app->detectEnvironment(function(){return 'testing';});
app/config/testing/cache.php
添加数组
'cache' => false,
app/config/view.php
添加数组
'cache' => false,