মডিউলটি ম্যানুয়ালি অক্ষম করুন


39

ড্রুপাল 7-এ, আমি {system}স্টাবন মডিউলটি অক্ষম করতে ডাটাবেসে টেবিলটি ম্যানুয়ালি সম্পাদনা করতে পারি । আমার ড্রুপাল 8 সাইটে এই টেবিলটি গেছে।

আমি কীভাবে ড্রুপাল 8 এ ম্যানুয়ালি অক্ষম করতে পারি?

উত্তর:


34

ড্রুপাল 7 systemটেবিলের ডেটা এখন প্যারামিটারের configবিপরীতে ড্রুপাল 8- এ সারণীতে সংরক্ষণ করা হয়েছে core.extension

সমাধান 1: আপডেট কনফিগারেশন

আপনি নীচের কোডটি ব্যবহার করে চালাতে পারেন drush evalবা ডেল মডিউলটির বিধানটি ব্যবহার করতে পারেন Execute PHP Code

// Read the configuration.
$module_data = \Drupal::config('core.extension')->get('module');

// Unset the modules you do not need.
unset($module_data['MODULE_NAME']);

// Write the configuration.
\Drupal::configFactory()->getEditable('core.extension')->set('module', $module_data)->save();

আপনি দ্রুত ওয়ান-লাইনারের সাহায্যে এটি সব করতে পারেন drush

drush eval "\$module_data = \Drupal::config('core.extension')->get('module'); unset(\$module_data['MODULE_NAME']); \Drupal::configFactory()->getEditable('core.extension')->set('module', \$module_data)->save();"

সমাধান 2: আপনি পিএইচপি এক্সিকিউট করতে না পারলে কনফিগার টেবিল সম্পাদনা করুন

সমস্যাযুক্ত মডিউলটির কারণে যদি সাইটটি ভাঙা হয় এবং আপনি পিএইচপি কোড চালাতে না পারেন তবে আপনি সম্ভবত configটেবিলটি সম্পাদনা করতে পারেন ।

configসারণীতে থাকা সারিতে যেখানে name = "core.extension"এবং BLOB কলামটি সম্পাদনা করুন datadataএকটি ধারাবাহিকভাবে পিএইচপি অ্যারে আপনি মডিউল আপনার কাছ থেকে পরিত্রাণ পেতে চান অপসারণ করতে হবে কোথায় moduleকনফিগারেশন কী।

সমাধান 3: দ্রুত এবং নোংরা সমাধান

  • ফাইল সিস্টেম থেকে মডিউলটি সরান
  • টেবিলটি কেটে ফেলুন cache_config

তবে এই সমাধানের ফলে বার্তাগুলি বলতে পারে যে মডিউলটি ফাইল সিস্টেমে উপস্থিত নেই যার অর্থ কিছু ভুল something তবে কমপক্ষে ভাঙা মডিউলটি অক্ষম হয়ে যায় এবং আপনি বেশিরভাগ ক্ষেত্রেই আপনার সাইটে অ্যাক্সেস করতে পারেন।

ক্যাশে ক্লিয়ারিং

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


1
মডিউল আনইনস্টল করার ক্ষেত্রে আমি মনে করি এটিই সেরা সমাধান।
ডেভিড

1
আপনার যদি কোনও মডিউল আনইনস্টল করতে হয় তবে মডিউলের টেবিলগুলি অনুপস্থিত থাকার কারণে না করতে পারেন তবে আপনি এর সাথে তৃতীয় বিকল্পটি ব্যবহার করতে পারেন drush eval। ওয়ান-লাইনারের একটি উদাহরণ হ'ল drush eval "\$module_data = \Drupal::config('core.extension')->get('module'); unset(\$module_data['example_module']); \Drupal::configFactory()->getEditable('core.extension')->set('module', \$module_data)->save();পালানো ডলারের চিহ্নটি নোট করুন যাতে কমান্ড লাইনটি $moduleব্যাশ ভেরিয়েবল হিসাবে ভুল ব্যাখ্যা করতে না পারে ।
সিলিগওয়াইলো

অলস ওয়ান লাইনারের জন্য চিয়ার্স! যদিও শেষে একটি উদ্ধৃতি মিস করছি
ম্যাট ফ্লেচার

আপনি ক্যাশে সাফ করার জন্য এটি বেশ প্রয়োজনীয়, এবং তারপরে কনফিগার রফতানি করুন যাতে কনফিগার না হওয়া পর্যন্ত পুনরায় ইনস্টল করার চেষ্টা না করে try
অ্যাডডিনসনে

16

এটা কর:

rm -rf modules/your_stubborn_module
rm -rf sites/default/files/php

মডিউলটির উপর নির্ভর করে আপনাকে কনফিগার টেবিল (ভলির উত্তর দেখুন) এবং কিছু অন্যান্য টেবিল থেকে কিছু এন্ট্রি মুছতে পারেন।
টিউরিওন

এটি আমার পক্ষে কাজ করে না।
রোবি

আপনাকে drush cache-rebuildখুব দৌড়াতে হবে
স্কাই

16
  • ম্যানুয়ালি configযেখানে টেবিলটি সম্পাদনা করুন name = 'core.extension'এবং ডেটা ব্লব থেকে মডিউলটি সরান যা একটি সিরিয়ালযুক্ত অ্যারে।
  • পাশাপাশি মডিউল অ্যারের দৈর্ঘ্য হ্রাস করতে সচেতন হন (...s:6:"module";a:HERE;{...)
  • Phpmyadmin cache_configবা কমান্ড-লাইন ব্যবহার করে টেবিলটি কেটে দিন ।

1
ধন্যবাদ, এটি আমাকে সাহায্য করেছে। উত্তরের "ম্যানুয়ালি {কনফিগার} টেবিল সম্পাদনা করুন " পড়তে হবে । Blob বিষয়বস্তু থেকে অপসারণ করার জন্য টেক্সট অংশ হল:i:0;s:8:"name of the module";
হেনড্রিক

2
এই উত্তরটি এমন পরিস্থিতির সমাধান করতে সহায়তা করেছে যেখানে মডিউলটি আনইনস্টল বা পুনরায় ইনস্টল করা যায়নি কারণ এটির দ্বারা নির্ধারিত একটি কাস্টম সত্তা অনুপস্থিত ছিল।
ড্যানিয়েলস

1
@ হ্যান্ড্রিক এটি আপনার জন্য কাজ করতে পারে তবে প্রতিটি মডিউল সরানোর স্ট্রিংটি কাঠামোযুক্ত হওয়া উচিত s:8:"name of the module";i:0;। @ ভল্লির অর্থ হ'ল মডিউলগুলির সংখ্যা বর্ণনা করে এমন অ্যারে সরানো মডিউলগুলির পরিমাণ দ্বারা সংখ্যায় হ্রাস করা উচিত। আমার সেটআপে ব্লবের সূচনাটি হ'ল a:4:{s:6:"module";a:59:{এটি 59 মডিউলের একটি অ্যারে। যদি আপনি দুটি অ্যারে মান 57
টির

3

ড্রাশ ব্যবহার বিবেচনা করুন। ড্রুপাল 8 এখনও "মডিউলগুলি অক্ষম" হওয়া উচিত তা নির্ধারণ করছে। যদি সেই বিকল্পটি থাকা উচিত বা এটি অপসারণ করা উচিত তবে একটি চলমান আলোচনা চলছে


আমি একটি উইন্ডোজ পিসিতে স্থানীয়ভাবে বিকাশ করছি এবং শেষ সময় দেখলাম ড্রুশল দ্রুপাল ৮ এর জন্য প্রস্তুত ছিল না I'll আমাকে আবার দেখতে হবে।
বাম্পউ

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

এবং, ড্রশ ব্যবহার করে, কীভাবে একজন ইউআই প্রক্রিয়ার চেয়ে আলাদা কোনও মডিউলটিকে "ম্যানুয়ালি সরান"? আপনি প্রশ্নের উত্তর দিয়েছেন বলে মনে হয় না।
মেনথোমাস

3

ড্রুপাল 8-এ, আপনার মডিউল ফোল্ডারটি থেকে মডিউলটি সরিয়ে পুনর্নির্মাণ.এফপি চালানোর চেষ্টা করুন।

drush pm-uninstall module-nameপাশাপাশি চেষ্টা করুন ।


2

আমি অন্যান্য সমস্ত উত্তর চেষ্টা করেছিলাম কিন্তু একটি ড্রুপাল ত্রুটি বার্তা পেয়েছি। এটি সমাধানের জন্য আমাকে কী_মূল্য সারণী থেকে একটি সারি সরিয়ে ফেলতে হয়েছিল (নাম কলামে মডিউলটির নামটি দেখুন)


2

আপনার যদি ড্রুপাল কনফিগারেশন সম্পর্কিত কিছু আপডেট করতে হয় তবে এই ক্ষেত্রে core.extensionড্রাশ ব্যবহার করুন:

[এই উদাহরণে 8.x পান করুন]

drush cedit core.extension

1

তার জন্য একটি মডিউল রয়েছে। এই মডিউলটি অস্ট্রেল-2013 এ drupal.org এ পোস্ট করা হয়েছিল । কারও প্রয়োজনে

মডিউলগুলি অক্ষম করুন

এই মডিউলটির পৃষ্ঠায় বলা হয়েছে,

ড্রুপাল 8 অনেক কারণে মডিউলগুলি অক্ষম করার ক্ষমতা সরিয়ে দিয়েছে। # 1199946 দেখুন: অক্ষম মডিউলগুলি মেরামতির বাইরে ভাঙ্গা হয়েছে তাই "অক্ষম" কার্যকারিতাটি মুছে ফেলা প্রয়োজন এবং বিভিন্ন কোর এবং অবদানযুক্ত মডিউলগুলির কাতারে থাকা আরও অনেক সমস্যা রয়েছে।

এই মডিউলটি ইউআই থেকে বা ড্রশ দিয়ে মডিউলগুলি (অস্থায়ীভাবে) অক্ষম করার ক্ষমতা ফিরিয়ে আনছে। দ্রষ্টব্য, আপনি কোনও মডিউল অক্ষম করার পরে আপনার সামগ্রী, কনফিগার বা এমনকি আপনার সাইটের কোনও গ্যারান্টি নেই।


0

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

1 মডিউলটিকে মডিউল ফোল্ডারে ওল্ড_বেটার_মেসেজগুলি নামকরণ করেছে।

  1. ইউআরএল এর মাধ্যমে, দৌড়েছেন http: // আইপি: পোর্ট / ফোল্ডারনাম / পুনর্নির্মাণ.পিএফপি । এটি নিশ্চিত করেছে যে সাইটটি ফিরে এসেছে তবে কেবল পঠনযোগ্য মোডে। আমি প্রশাসকের ক্রিয়াকলাপ করতে বা নিবন্ধগুলি সম্পাদনা করতে পারি না।

  2. ডাটাবেস থেকে এন্ট্রি মুছতে নিম্নলিখিত কমান্ডটি ব্যবহার করা হয়েছে

কী_মূল্য থেকে সংগ্রহ করুন যেখানে সংগ্রহ = 'system.schema' এবং নাম = 'আরও ভাল_মেসেজ';

আমার ক্ষেত্রে, ডাটাবেসে কোনও প্রবেশ নেই। আমি মনে করি এটি আগে মুছে ফেলা বিভিন্ন স্টান্টের কারণে এটি মুছে ফেলা হতে পারে।

  1. তারপরে ডিবি ভিজ্যুয়ালাইজার ব্যবহার করে, আমি সমস্ত টেবিলগুলি থেকে ক্যাশে দিয়ে শুরু হওয়া এন্ট্রি মুছলাম।

এটি সমস্যার সমাধান করেছে। এটি https://www.drupal.org/node/2487215 আমার ব্যাখ্যা ভিত্তিক


0

উপরে জিগেরিয়াসের উত্তর, কাজের ধরণের ...

আমাকে করতে হয়েছিল: // কনফিগারেশনটি পড়ুন।

$module_data = \Drupal::config('core.extension')->get()['module'];

যা একই জিনিস করা উচিত । জিগারিয়াস যেভাবে লিখেছেন তা কেন এটি কার্যকর হয়নি তা নিশ্চিত নয় ...

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