বিকাশকারী মোডে কোন সংকলনের আদেশগুলি প্রয়োজন এবং কখন?


24

ম্যাজেন্টো 2 বিকাশকারী মোডে কোন সংকলন কমান্ডগুলি পরিচালনা করতে হবে তখন কেউ আমাকে নির্দেশনা দিতে পারেন? আমি এখনই বুঝতে পারছি কিনা তা নিশ্চিত নই।

ডেভডক্সে, বিকাশকারী মোডটি নীচে বর্ণিত:

  • স্ট্যাটিক ভিউ ফাইলগুলি ক্যাশে করা হয় না; প্রতিবার তাদের যখন ডাকা হয় তখন সেগুলি ম্যাগেন্টো পাব / স্ট্যাটিক ডিরেক্টরিতে লেখা হয়

তার মানে কি, পাব / স্ট্যাটিকের প্রতিটি পৃথক ফাইল তৈরি করা হয় যখন এটি অনুরোধ করা হয় এবং আপনাকে কখনই কল করার দরকার নেই setup:static-content:deploy? এটি আমার অভিজ্ঞতার বিরোধিতা করে। বা আমি কোনও ফাইল মুছতে পারি এবং সেগুলি পুনরায় তৈরি করা যাবে? এছাড়াও, চিত্র, সিএসএস এবং জেএস ফাইলগুলি অন্যরকম আচরণ করা বলে মনে হচ্ছে।

বিকাশকারী মোড ডকুমেন্টেশন পৃষ্ঠা কোড সংকলন সম্পর্কে কিছুই বলে না, তবে আমি মনে করি পাশাপাশি একটি পার্থক্য ছিল, সুতরাং ফাইলগুলির setup:di:compileসমস্ত পরিবর্তনের পরে চালানো দরকার ছিল না di.xml। এটি কি সঠিক এবং যদি তাই হয় তবে কোড জেনারেশন কীভাবে বিকাশকারী মোডে কাজ করে?

অন্য কথায়: ক্যাশে একপাশে, কোন পরিবর্তনের পরে কোন কমান্ড চালানো দরকার?

উত্তর:


27

মনোযোগ দিন: আমি অভিজ্ঞতা পেয়েছি যে বিকাশকারী মোডে মুছে ফেলা pub/staticপ্রক্রিয়াটি ভেঙে দেয় কারণ আপনি .htaccessযে ফাইলটি সেই ফোল্ডারে যাদু তৈরি করে তা থেকে মুক্তি পান ।

আপনি যদি pub/static/.htaccessফাইলটিকে বিকাশকারী মোডে রাখেন তবে আপনাকে কোনও সংকলন কমান্ড চালানোর দরকার নেই: ম্যাজেন্টো তাদের অনুরোধ করার সাথে সাথেই ফাইলগুলিতে সিমলিংক তৈরি করবে। এর অর্থ হ'ল স্থিতিশীল সম্পত্তিতে পরিবর্তনগুলি তত্ক্ষণাত দৃশ্যমান হবে, তবে আপনার যদি ক্যাশে অক্ষম থাকে তবে।

আপনি এর পরিবর্তে pub/static/frontendবা মুছতে পারেন pub/static/adminhtml

ইন ডিফল্ট মোড সম্পদ হয় রূপায়িত মধ্যে pub/staticsubfolder, অর্থাত তারা প্রথম অনুরোধে নির্মিত (কপি, সিমলিঙ্ক নয়)। আপনি যদি এগুলি সংশোধন করেন তবে সেগুলি আপডেট করার জন্য আপনাকে ক্যাশে ফ্লাশ করতে হবে।

ইন প্রকাশনা মোড সম্পদ (অনুরোধের ভিত্তিতে 404 HTTP ত্রুটি করে) যতক্ষণ না আপনি চালাতে রূপায়িত নেই bin/magento setup:static-content:deployকমান্ড।

আশা করি এটা সাহায্য করবে.


ডিআই সংকলন সম্পর্কে কি?
এরফান

@ ইরফান আপনি আরও সুনির্দিষ্টভাবে বোঝাতে চাইছেন কি?
আলেসান্দ্রো রনচি

2
ডিআই সংকলনে ডিপ্লয় মোডের প্রভাব সম্পর্কেও প্রশ্নটি উত্থাপন করে। আমি কেবল একটি দ্রুত পরীক্ষা করেছি, এবং আপনি যদি বিকাশকারী মোডে থাকেন তবে আপনার পরিবর্তনগুলি di.xmlদেখানোর জন্য আপনাকে ডিআই সংকলন করতে হবে না (মনে হচ্ছে কোড জেনারেশন প্রতি পৃষ্ঠা-হিট প্রতি ফ্লাইতে সম্পন্ন হয়েছে?) যাইহোক, ভেবেছি এটি আপনার ইতিমধ্যে ভাল উত্তরের জন্য একটি ভাল সংযোজন হবে!
এরফান

আপনি ঠিক বলেছেন ইরফান
আলেসান্দ্রো রনচি

1+ ধন্যবাদ ভাই। কবজির মতো কাজ করেছেন। এমনকি ডেভেলপার মোডে কম থেকে সিএসএসে আমার পরিবর্তনগুলি পেতে আমার বারবার কমান্ড মোতায়েনের খুব খারাপ অভিজ্ঞতা হয়েছিল। আমি অন্য প্রকল্প থেকে .htaccess অনুলিপি করেছি এবং উল্লিখিত স্থানে আটকে দিয়েছি। Khalaaas!
উমর ইউসুফ

4

আমার অভিজ্ঞতা থেকে, আপনাকে বিকাশকারী মোডে কোড / স্ট্যাটিক-ফাইল তৈরির জন্য কোনও কমান্ড চালানোর দরকার নেই।

স্থির ফাইলগুলি তৈরি না করা হলে, অন্য কোনও সমস্যা হতে পারে।

আমি প্রথম দর্শনে এর দুটি কারণ দেখতে পাচ্ছি:

  • বিকাশকারী মোড সঠিকভাবে কাজ করছে না। সক্রিয়করণটি কোনও কারণে ব্যর্থ হয়েছে
  • পাব / স্ট্যাটিক.এফপি স্থিতিশীল ফাইলগুলির জন্য পুনর্লিখন কাজ করছে না

1
আমার কম ফাইলটি পাব / স্ট্যাটিকগুলিতে পুনরায় উত্পন্ন নয়। আপনি কি এই সমস্যা পেতে? কিভাবে এটি স্বয়ংক্রিয় পুনর্জাত করতে
mrtuvn

এটি গুরুত্বপূর্ণ যে বিকাশকারী মোড সক্রিয় এবং এটিও পুনরায় লেখকরা কাজ করছেন, যেহেতু স্থির ফাইলগুলির যে কোনও অনুরোধটি প্রথমে পাব / স্ট্যাটিক.এফপিতে পুনরায় লেখা হয় যা এরপরে উপস্থিত না থাকলে পাব / স্ট্যাটিকের অধীনে ফাইলটি (বিকাশকারী মোডে) উত্পন্ন করে
ডেভিড ভারহোলেন

4

তার মানে কি, পাব / স্ট্যাটিকের প্রতিটি পৃথক ফাইল তৈরি করা হয় যখন এটি অনুরোধ করা হয় এবং আপনাকে কখনই কল করার দরকার নেই setup:static-content:deploy? এটি আমার অভিজ্ঞতার বিরোধিতা করে। বা আমি কোনও ফাইল মুছতে পারি এবং সেগুলি পুনরায় তৈরি করা যাবে?

হ্যাঁ। তবে আমার অভিজ্ঞতা অনুযায়ী এটি বেশিরভাগ সময় কাজ করে না। একটি বাগ হতে পারে। pub/staticআপনি যখনই ইতিমধ্যে বিকাশকারী মোডটি সক্রিয় করে রেখেছেন তখনও স্থির ফাইল (জেএসএস, সিএসএস, এইচটিএমএল, ইত্যাদি) পরিবর্তন করলেও বিষয়বস্তু মুছে ফেলা এবং আবার স্থির বিষয়বস্তু মোতায়েন করা ভাল সমাধান । এই সম্পর্কে আমার নিজের প্রশ্ন।


এটি আপনি যেভাবে দেখছেন তা নির্ভর করে। আপনি যদি সেটআপ চালাতে চান: স্থিতিশীল-সামগ্রী: আপনি যখনই পরিবর্তন আনুন ততবার মোতায়েন করুন, মূলত আপনি যখন কেবল একটি ফাইল আপডেট করছেন তখন আপনার স্টোরের জন্য প্রতিটি ফাইল তৈরি করছেন মূলত আপনি আপনার স্টোরের জন্য প্রতিটি ফাইল তৈরি করছেন years সুতরাং, আমার সমাধানটি ছিল আমার পরিবর্তনগুলি দেখতে পাব / স্ট্যাটিক এবং ক্লিয়ারিং ক্যাশে র মধ্যে ফাইলগুলি ওভাররাইট করা। একবার আমি আমার ফলাফলগুলিতে খুশি হয়ে গেলে আমি আমার থিম বা কাস্টম মডিউল ফাইলগুলিতে আমার প্রধান ফাইলগুলি ওভাররাইট করতে এবং তারপরে সেটআপ চালাব: স্ট্যাটিক-সামগ্রী: আমার স্থির ফাইলগুলি আপডেট করার জন্য স্থাপন করুন dep
ওল্ফগাং লিওন

4

কেবল তিনটি পৃথক মোডের মধ্যে স্পষ্ট করার জন্য (উত্স: ম্যাজেন্টো ইউ ফান্ডামেন্টাল কোর্স)। সাহসের সাথে, আপনার প্রশ্নের সাথে সম্পর্কিত নির্দিষ্ট পয়েন্টগুলি।

বিকাশকারী মোড

  • স্ট্যাটিক ফাইল মেটেরালাইজেশন সক্ষম নয়।
  • ব্রাউজারে প্রদর্শিত না হওয়া ব্যতিক্রম
  • ব্যর্থতা ত্রুটি হ্যান্ডলারের মধ্যে নিক্ষিপ্ত, লগ না
  • সিস্টেম লগ ইন var/report, অত্যন্ত বিস্তারিত।

আপনি কাস্টমাইজেশন বা এক্সটেনশানগুলি বিকাশকালে আপনার বিকাশকারী মোডটি ব্যবহার করা উচিত। এই মোডের প্রধান সুবিধা হ'ল ত্রুটি বার্তাগুলি আপনার কাছে দৃশ্যমান। পারফরম্যান্সের প্রভাবের কারণে এটি উত্পাদনে ব্যবহার করা উচিত নয়। বিকাশকারী মোডে, প্রতিবার অনুরোধ করার সময় স্থির দর্শন ফাইলগুলি তৈরি করা হয়। এগুলি pub/staticডিরেক্টরিতে লেখা হয় , তবে এই ক্যাশেটি ব্যবহৃত হয় না। এটির বড় পারফরম্যান্স প্রভাব রয়েছে তবে কোনও বিকাশকারী ফাইল দেখতে যে কোনও পরিবর্তন তা সঙ্গে সঙ্গে দৃশ্যমান হয়।

অপ্রকাশিত ব্যতিক্রমগুলি লগ হওয়ার পরিবর্তে ব্রাউজারে প্রদর্শিত হয়। যখনই ইভেন্টের গ্রাহককে ডাকা যাবে না তখনই তার ব্যতিক্রম ছুঁড়ে ফেলা হয়।

সিস্টেম লগ ইন var/reportএই মোডে অত্যন্ত বিস্তারিত detailed

উত্পাদন মোড

  • উত্পাদন পদ্ধতিতে স্থাপনার পর্ব; সর্বোচ্চ কর্মক্ষমতা
  • ব্যতিক্রমগুলি ব্যবহারকারীর কাছে প্রদর্শিত হয় না - কেবল লগগুলিতে লেখা।
  • এই মোডটি স্ট্যাটিক ফাইল ম্যাটেরিয়ালাইজেশন অক্ষম করে।
  • ম্যাজেন্টো ডোক্রোটের কাছে কেবল পঠনের অনুমতি থাকতে পারে।

এটি একবার প্রোডাকশন সার্ভারে স্থাপন করা হয়ে গেলে আপনার প্রযোজনা মোডে ম্যাজেন্টো চালানো উচিত।

প্রোডাকশন মোড ম্যাজেন্টো 2-এ সর্বাধিক কর্মক্ষমতা সরবরাহ করে।

এই মোডের সবচেয়ে গুরুত্বপূর্ণ দিকটি হ'ল ত্রুটিগুলি ফাইল সিস্টেমে লগ করা হয় এবং ব্যবহারকারীর কাছে প্রদর্শিত হয় না। এই মোডে, যখন অনুরোধ করা হয় তখন স্থির দর্শন ফাইলগুলি ফ্লাইতে তৈরি হয় না; পরিবর্তে, তাদের pub/staticকমান্ড-লাইন সরঞ্জাম ব্যবহার করে ডিরেক্টরিতে স্থাপন করতে হবে । উত্পন্ন পৃষ্ঠাগুলি মোতায়েন করা পৃষ্ঠা সংস্থানগুলির সরাসরি লিঙ্কগুলি ধারণ করবে।

ফাইলগুলি দেখার জন্য যে কোনও পরিবর্তনের জন্য আবার মোতায়েনের সরঞ্জামটি চালানো দরকার।

যেহেতু ভিউ ফাইলগুলি সিএলআই সরঞ্জাম ব্যবহার করে মোতায়েন করা হয়েছে, ওয়েব ব্যবহারকারীকে লেখার অ্যাক্সেস থাকা দরকার। ম্যাজেন্টো pub/staticডিরেক্টরিতে কেবল পঠনযোগ্য অনুমতি থাকতে পারে যা সর্বজনীনভাবে অ্যাক্সেসযোগ্য সার্ভারে আরও সুরক্ষিত সেটআপ।

ডিফল্ট মোড

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

এর নামটি থেকে বোঝা যায়, ডিফল্ট মোডটি অন্য মোড নির্দিষ্ট না করা থাকলে কীভাবে ম্যাজেন্টো সফ্টওয়্যার পরিচালনা করে।

এই মোডে, এররগুলি ফাইলগুলিতে লগ হয় var/reportsএবং কোনও ব্যবহারকারীর কাছে কখনই প্রদর্শিত হয় না। স্ট্যাটিক ভিউ ফাইলগুলি ফ্লাইতে পরিণত হয় এবং তারপরে ক্যাশে করা হয়।

বিকাশকারী মোডের বিপরীতে, উত্পন্ন স্ট্যাটিক ভিউ ফাইলগুলি সাফ না হওয়া পর্যন্ত দেখুন ফাইলের পরিবর্তনগুলি দৃশ্যমান হয় না।

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

অন্য কথায়, ফ্লাইতে স্ট্যাটিক ফাইল তৈরি করা এবং তাদের ক্যাশে করা স্ট্যাটিক ফাইল তৈরির আদেশ কমান্ড লাইন সরঞ্জাম ব্যবহার করে তৈরি করার চেয়ে বেশি কার্যকারিতা প্রভাব ফেলে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.