راکت
حل شده

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

7 پاسخ

سلام دوستان
قصد اعمال یک سری تغییرات روی سایت درام و با 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

Pouria
Pouria
@pouria.782
ثبت پرسش جدید

پاسخ‌ها

7
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

بهترین پاسخ

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

bootstrap/cache/config.php

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

مهدی اردشیر
مهدی اردشیر
@mehdi0121

تخصص: یه برنامه نویس

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

php artsian optimize:clear

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

لاراول سیستم کش های مختلف و زیادی داره. یکیشون 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
Pouria
@pouria.782

تخصص: developer

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

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

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

Pouria
Pouria
@pouria.782

تخصص: developer

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

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

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

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