Noob Coder
Noob Coder

Reputation: 2896

Blade view not reflecting changes

I am developing a Laravel(5.2.29) project in Windows environment and testing it on Chrome browser.

I have made some changes on a Blade file using atom text editor and then refreshed my page and noticed that suddenly it has stopped reflecting the changes (it's loading the old Blade file).

I've tried the following:

No matter what, the code displayed on the browser is always the same (old) version and not the content of the Blade file.

How can I solve this issue?

Upvotes: 60

Views: 106012

Answers (13)

shakeel70
shakeel70

Reputation: 79

I tried everything, cache clear commands and deleting the storage framework view folder but nothing worked. Finally, this command worked for me perfectly.

php artisan optimize

Upvotes: 1

Arthur Shlain
Arthur Shlain

Reputation: 1109

If you use PhpStorm, uncheck Preserve files timestamps deployment option: https://stackoverflow.com/a/42534996/2453148

Upvotes: 17

Samuel Cruz
Samuel Cruz

Reputation: 35

In case you try everything and nothing works. I recommend that you simply create a view under another name and the problem will be fixed

Example:

welcome.blade.php 

change to

newview.blade.php

copy and paste code to new view

In controller just point to new view:

return view('newview');

Upvotes: -1

jroyce
jroyce

Reputation: 2148

None of these solutions have resolved this issue for me. Tried all php artisan options and the php code is not updating.

Only solution i've found is restarting the docker container that the code is running inside.

Upvotes: 0

genarocupil
genarocupil

Reputation: 51

clear cache didn't work for me, but I just edited the file and saved it again, and it works!

Upvotes: 0

CodeToLife
CodeToLife

Reputation: 4151

I have cleared all cashs and uploaded folders but didnt see changes. Thus, if you have placed the project on a public hosting and don't have access to console then try to set deployment via your IDE (mine is phpstorm, e.g.)and set it to autoload mode. Then you'll get it working by changing something in the problem blade and by pressing cntrl+s(save) shortcut.

Upvotes: 0

HamzStramGram
HamzStramGram

Reputation: 437

Like Can Gelis mentionned in a comment. For me the solution was to reload PHP FPM

service php7.2-fpm reload

Upvotes: 5

Sigri44
Sigri44

Reputation: 307

php artisan cache:clear
php artisan route:cache
php artisan config:clear
php artisan view:clear
rm -rf bootstrap/cache/*/*
  • Delete Cache/OPcache from PHP (fpm) of your Nginx/Apache server.

Upvotes: 18

Akhilesh Singh
Akhilesh Singh

Reputation: 193

You can also check if opcache enabled, in that case you need to clear your opcache cache.

Upvotes: 5

Gabby
Gabby

Reputation: 136

Alternatively if other suggested methods did not work, you can rename your files to different names. Refresh their corresponding web pages to start using new file name reference. Then you can rename the files back to your preferred names after the new pages to reflect their changes.

Upvotes: 3

Connor Leech
Connor Leech

Reputation: 18833

Clear the cache and clear the cached blade files:

php artisan cache:clear
php artisan config:clear
php artisan view:clear

Upvotes: 6

Bugfixer
Bugfixer

Reputation: 2617

Run this command from terminal

php artisan view:clear

Upvotes: 58

Luís Cruz
Luís Cruz

Reputation: 14970

In order to avoid the parsing of Blade files on each reload, Laravel caches the views after Blade is processed. I've experienced some situations where the source (view file) is updated but the cache file is not "reloaded". In these cases, all you need to do is to delete the cached views and reload the page.

The cached view files are stored in storage/framework/views.

Upvotes: 73

Related Questions