লারাভেল 5 সাফ ভিউ ক্যাশে


167

আমি লক্ষ্য করেছি যে লারাভেল ক্যাশে ভিউগুলি সময়ের সাথে সঞ্চিত থাকে ~/storage/framework/views., তারা আমার স্থান খেয়ে ফেলবে। আমি কীভাবে এগুলি মুছব? কোন আদেশ আছে যে পারে? আমি চেষ্টা করেছি php artisan cache:clear,কিন্তু এটি ভিউ ক্যাশে সাফ করছে না। এটির সাথে সাথে আমাকে উল্লিখিত ফোল্ডারে থাকা ফাইলগুলি নিজেই মুছতে হবে।

এছাড়াও, আমি কীভাবে ভিউ ক্যাশে করা অক্ষম করব?


3
"ওভারটাইম, তারা আমার জায়গা খেয়ে ফেলবে।" অসম্ভাব্য। আমি রক্ষিত একটি বড় লারাভেল অ্যাপ্লিকেশনটিতে প্রায় 500 রুটের প্রায় 300KB ক্যাশে ভিউ রয়েছে। কোনও আধুনিক সার্ভারে ক্যাশেড ভিউগুলির কারণে আপনি কখনই দৌড়াতে পারবেন না।
সিজেজোজ

3
তবে সমস্যাটি হ'ল আমার হোস্টিং সরবরাহকারী ডিস্ক স্পেসের ব্যবহার দ্বারা সীমাবদ্ধ করছেন না। পরিবর্তে, এটি আপনার কাছে থাকা ফাইলের সংখ্যা দ্বারা সীমাবদ্ধ। সুতরাং এটি আমার জন্য একটি বিষয়।
বাসগবি

5
এটি উদ্ভট এবং আপনার কয়েকশ ফাইল এতে থাকা কয়েক হাজার ফাইলের storage/framework/viewsপাশের কিছুই নয় vendor। এমন একটি হোস্ট পান যার মতো অযত্ন উন্মাদ সীমাবদ্ধতা নেই। ফাইল সংখ্যা দ্বারা সীমাবদ্ধ? ডব্লিউটিএফ ?!
সিজেজোজ

আপনি কি এটির জন্য দুর্দান্ত হোস্টিংয়ের প্রস্তাব দিতে পারেন? সাধারণত ভাগ করে নেওয়া হোস্টিং। আমি নিশ্চিত না যে আমাকে আমার বর্তমান হোস্টিং সরবরাহকারীর নাম ভাগ করার অনুমতি দেওয়া হয়েছে কিনা। যদিও এটি একটি বড় কোমনি।
বাসগাবি

1
আপনি খুব প্রযুক্তিগত না হলে আমি হিরোকুর মতো কোথাও, বা আপনি যদি অ্যামাজন ওয়েব পরিষেবাদিগুলির সাথে যান। যদি আপনার বর্তমান হোস্ট প্রকৃতপক্ষে ফাইলের সংখ্যা সীমাবদ্ধ করে এবং মোট ব্যবহৃত স্থানটি না করে তবে তারা উন্মাদ।
সিজেজোজ 22'15

উত্তর:


278

php artisan view:clearলারাভেল 5.1 এর পর থেকে এখন এই কাজের জন্য একটি আদেশ রয়েছে


জেনে ভালো লাগলো. একটি জিনিস আমি লক্ষ্য করি, সময়ের সাথে সাথে দেখা ফোল্ডারের নীচে থাকা ক্যাশে মুছে ফেলা হয়। কোডটিতে এমন কিছু আছে যা তাদের xx দিনের মধ্যে মুছে ফেলবে?
বাসগাবি

আমি বিশ্বাস করি যে এটির চেয়ে প্রায় খানিকটা বেশি সময় হয়েছে :)
ওডম্যান

29

সমস্ত কারিগর কমান্ড পেতে, টাইপ করুন ...

php artisan

আপনি যদি ভিউ ক্যাশে সাফ করতে চান তবে কেবল ব্যবহার করুন:

php artisan view:clear

আপনি যদি নির্দিষ্ট কারিগর কমান্ড কীভাবে ব্যবহার করতে না জানেন তবে কেবল "সহায়তা" যুক্ত করুন (নীচে দেখুন)

php artisan help view:clear

11

দয়া করে নীচের কমান্ডটি ব্যবহার করে দেখুন:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

2
মেকার নিশ্চিত আপনি artisan config:cacheযে সব আপনার এর .envভেরিয়েবল মাধ্যমে ব্যবহার করা হয় config(), না env()অথবা তারা নাল হবেন।
ফ্ল্যাশজর্ডান

1
@ ফ্ল্যাশ জর্ডান আমি কনফিগার: ক্যাশে চালানোর আগে আপনার মন্তব্যটি পড়তে চাই। হাঃ হাঃ হাঃ. অন্য কারও জন্য যা কনফিগারেশন চালায়: আমার মতো অন্ধভাবে ক্যাশে করুন, কেবল বুটস্ট্র্যাপ / ক্যাশে থেকে config.php মুছুন।
তারেক আদম

6

এখনই কোনও দর্শন নেই: পরিষ্কার আদেশ। লারাভেল 4 এর জন্য এটি সম্ভবত আপনাকে সহায়তা করতে পারে: https://gist.github.com/cjonstrup/8228165

ক্যাচ অক্ষম করা ব্লেড এড়িয়ে যাওয়ার মাধ্যমে করা যেতে পারে। ভিউ ক্যাচিং করা হয় কারণ ব্লেড প্রতিবার সংকলন করা সময় নষ্ট হয়।


আমি এই সম্পর্কে এখানে একটি ভাল ব্যাখ্যা পেয়েছি stackoverflow.com/questions/31455829/…
রিন্টো জর্জ

6

আপনার অতিরিক্ত প্রশ্নের উত্তর কীভাবে ক্যাশে অক্ষম করবেন:

আপনি php artisan view:clearদিলীপগুরুং দ্বারা উল্লিখিত কমান্ডের সাথে প্রতিটি অনুরোধের জন্য ফোল্ডারে থাকা ফাইলগুলি স্বয়ংক্রিয়ভাবে মুছে ফেলতে পারেন । Https://stackoverflow.com/a/38598434/2311074 থেকে মিডলওয়্যার ক্লাসের একটি উদাহরণ এখানে রয়েছে

<?php
namespace App\Http\Middleware;

use Artisan;
use Closure;

class ClearViewCache
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (env('APP_DEBUG') || env('APP_ENV') === 'local') 
            Artisan::call('view:clear');

        return $next($request);
    }
}

তবে আপনি লক্ষ রাখতে পারেন যে যখনই ভিউ ফাইলগুলিতে লেআউটের জন্য পিএইচপি ব্লেড ফাইলগুলির চেয়ে সময়ের চেয়ে আগের ভিউ ফাইলগুলির সময়টি / অ্যাপ / স্টোরেজ / ভিউ ফোল্ডারে ফাইলগুলি পুনরায় সংকলন করবে। তবুও, আমি সত্যিই এমন দৃশ্যের কথা ভাবতে পারি না যেখানে এটি করার দরকার হবে।


2

লারাভেল (টার্মিনাল) এ ক্যাশে সাফ করুন

অ্যাপ্লিকেশন ক্যাশে সাফ করুন

php artisan cache:clear

রুটের ক্যাশে সাফ করুন

php artisan route:clear

কনফিগার ক্যাশে সাফ করুন

php artisan config:clear 

সংকলিত ভিউ ফাইলগুলি সাফ করুন

php artisan view:clear 

ব্রাউজারে ক্যাশে সাফ করুন বেশিরভাগ ভাগ করা হোস্টিং সরবরাহকারী সিস্টেমে এসএসএইচ অ্যাক্সেস সরবরাহ করে না। সেক্ষেত্রে আপনি ব্রাউজারে ইউআরএল কল করে লারাভেল ক্যাশে সাফ করতে পারেন। আপনি কেবল নীচের কোডটি আপনার রুট / ওয়েব.এফপিতে রাখতে পারেন।

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

এখানে সংস্থান লিঙ্কটি https://tecadmin.net/clear-cache-laravel-5/



0

আমার প্রকল্পগুলির জন্য এই সমস্যাটি সমাধান করার জন্য আমি লিখেছিলাম এমন একজন সহায়ক। এটি দ্রুত এবং একটি একক কমান্ডের সাহায্যে সবকিছুকে দ্রুত সাফ করতে সক্ষম করে তোলে এটি অত্যন্ত সাধারণ এবং সহজ।

https://github.com/Traqza/clear-everything


ব্যবহৃত নেমস্পেসটি একবার দেখুন। এটি সঠিক ফোল্ডারের পথে রয়েছে কিনা তা নিশ্চিত করুন বা আপনি যদি এটি পরিবর্তন করেছেন। আপনি সেই অনুযায়ী এটি আপডেট নিশ্চিত করুন। @ সামজাদ্পস
lzoesch

আমি আমার শেষের দিকে নাম স্থান আপডেট করেছি। কিছু না করে এখনই আপনার পক্ষে কাজ করা উচিত। এটির কনসোল / কমান্ড ফোল্ডারে সেট সেট করুন।
lzoesch
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.