Pouria
2 سال پیش توسط Pouria مطرح شد
7 پاسخ

جلوگیری از cache کردن در لاراول

سلام دوستان
قصد اعمال یک سری تغییرات روی سایت درام و با ftp متصل هستم. مشکلم اینه که تمام روت هام رو لاراول کش میکنه و نمیتونم روت جدید اضافه کنم برای حل مشکل این کار هارو کردم
ابتدا داخل env مقدار CACHE_DRIVER=none , CACHE_EXPIRE=-1 این دو مقدار رو قرار دادم و داخل config/cache.php مقدار

 'none' => [
            'driver' => 'null',
        ],

اضافه کردم و بعدش این دستورات رو اجرا کردم

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

حالا یک route ساده اضافه میکنم که یه متن رو اکو کنه مثل این :

Route::get('test' , function(){
    echo "hello ";
}); 

حالا وقتی به روت test برم hello رو میبینم اما وقتی مقدار hello رو به مثلا bye تغییر بدم بازم همون hello رو نشون میده یا حتی اگر روت رو پاک کنم باز هم فرقی نداره.
من میخام فعلا کلا اصن کش نکنه روت و ویو هارو. ممنون میشم راهنمایی کنید

@mhyeganeh @endworld @mehdi0121


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

درود خوبی...
این بیشتر توی هاست های اشتراکی دیده میشه...
یه راهکاری هست که فایل config توی این مسیر حذف کنید.

bootstrap/cache/config.php

پیوند زیر:
https://jobteam.ir/ProductUser/41-Laravel-clear-cache


مهدی اردشیر
تخصص : یه برنامه نویس
@mehdi0121 2 سال پیش مطرح شد
0

سلام میتونی از دستور زیر استفاده کنی یا همون راهی که دوست عزیز @endworld گفتند

php artsian optimize:clear

برای منم اینجوری شد با این اوکی شد


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
3

لاراول سیستم کش های مختلف و زیادی داره. یکیشون Cache کردن Route هاتون هست. فایده اش هم اینه که میاد یک نسخه بهینه سازی شده از کلیه Route هاتون در مسیر bootstrap/cache ایجاد می‌کنه و از این به بعد دیگه فقط با همون کار می‌کنه. به همین خاطر شما هر چقدر هم که تغییر و تحول داخل فایل های پوشه route تون ایجاد کنید هیچ تاثیری در برنامتون نخواهند داشت.

برای ایجاد و حذف این کش ها می‌توانید از دستورات زیر به ترتیب استفاده کنید:

php artisan route:cache
php artisan route:clear

اگر هم دسترسی به کامند لاین ندارید کافیه بصورت دستی کلیه محتوای داخل مسیر bootstrap/cache یا فقط فایل مربوط به route هاتون رو حذف کنید و تا وقتی کارتون تموم نشده دستورات php artisan optimize یا php artisan route:cache رو اجرا نکنید.


Pouria
تخصص : developer
@pouria.782 2 سال پیش آپدیت شد
0

من تمام مواردی که گفتید رفتم فایل cache.php رو پاک کردم از optimize:clear استفاده کردم به کامند لاین دسترسی دارم و مواردی که گفتم رو داخل کامند لاین اجرا کردم ولی هنوزم یک روت ساده دارم که اکو میکنه hello یک بار که به این روت برم بعدش کنم اکو کنم hello world باز اکو میکنه hello مگر در یک مرورگر دیگه باز کنم. حتی کش درایور رو به null تغییر دادم ولی بازم ول نمیکنه. ممنون میشم راهنمایی کنید
***هاست اشتراکی هم هستش
@mhyeganeh @endworld @mehdi0121


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 2 سال پیش مطرح شد
0

@pouria.782
درود خوبی...
بهتره در سرور مجازی تست کنید نه هاست اشتراکی ...


Pouria
تخصص : developer
@pouria.782 2 سال پیش مطرح شد
0

@endworld
سلام ممنون
فی الواقع راهکاری پیشنهاد ندارید ؟


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
0

احتمال داره کشینگ در لایه وب سرورتون یا تنظیمات هاستتون داره انجام میشه که ارتباطی با لاراول پیدا نمی‌کنه. می‌تونید تست کنید که آیا درخواست اصلا به لاراول میرسه یا قبلش پاسخ بر می‌گرده.

یک احتمال دیگه اش هم استفاده از CDN هست که قابلیت Caching دارند و ممکنه در اون لایه ریسپانس بر می‌گرده و اصلا درخواست به هاست یا سرور اصلیتون نمیرسه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام