আমি পিএইচপি ত্রুটিগুলি কীভাবে চুপ করব?


32

দ্রুপালে সমস্ত পিএইচপি ত্রুটি, সতর্কতা এবং বিজ্ঞপ্তিগুলি নিঃশব্দ করার কোনও উপায় আছে কি? এগুলি ডেভেল সাইটে ব্যবহারযোগ্য তবে এগুলি একটি বড় সুরক্ষা ঝুঁকি, এবং লাইভটিতে সাইটটিকে খারাপ দেখায়।

আমি ড্রুপাল 6 এ জানি অ্যাডমিন / সেটিংস / ত্রুটি-প্রতিবেদনের পৃষ্ঠাটি দ্রুপালকে স্ক্রিনে ত্রুটি লিখতে বাধা দিতে পারে, তবে ড্রুপাল 7 এ আমি কোথায় খুঁজে পাব? মনে হচ্ছে এটি নিখোঁজ রয়েছে।


3
মনে রাখবেন যে ত্রুটিগুলির একটি খুব গুরুত্বপূর্ণ ভূমিকা রয়েছে: তারা বোঝায় যে কিছু ভুল। এটি ছাড়িয়ে যাওয়া অন্তর্নিহিত সমস্যার সমাধান করে না। এটিকে "রাশিয়ান পদ্ধতি "ও বলা হয়: যখন কোনও পারমাণবিক উদ্ভিদটির অ্যালার্ম-আলোক জ্বলতে শুরু করে, কেবল হালকা কড়াটি সরিয়ে ফেলুন। অ্যালার্ম-আলো আর জ্বলবে না; কোন সমস্যা নাই.
বার্ক

হাস্যকর :). তবে আমি কেবল প্রোডাকশন সাইটে ত্রুটিটি দমন করি।
drupal_stuff_alter

কোন ত্রুটি প্রদর্শিত হবে তা সিদ্ধান্ত নেওয়ার জন্য ড্রুপালের বিকল্প রয়েছে; প্রদর্শিত ত্রুটিগুলি এখনও ডাটাবেসে রেকর্ড করা হয় না, এবং অ্যাডমিন / রিপোর্ট / ডিবি্লগে প্রদর্শিত হয়।
কিমলালুনো

@ কিমালালুনো, উত্পাদনে যা কিছুটা সূক্ষ্ম (তবুও কোনও ত্রুটি উপস্থাপন করা যে কোনও অর্থ প্রদান ব্যর্থ হয়েছে তা সর্বদা আরও ভাল তবে আপনার ক্লায়েন্টকে অনিশ্চয়তায় ফেলে দেওয়া)। তবে বিকাশ এবং পরীক্ষার ক্ষেত্রে আমার অভিজ্ঞতা হ'ল ডাব্লগ-এ ত্রুটিগুলি অবহেলা করা হচ্ছে। কয়েক ঘন্টা নোটিশ এবং সতর্কতা সহ প্রতি ঘন্টা সেখানে লগইন করা ড্রুপালসাইটগুলি ব্যতিক্রম নয়। এবং প্রকৃত ব্যতিক্রম এবং ত্রুটিগুলি গোলমালে হারিয়ে যায়। বিকাশকারীর মুখে প্রতিটি নোটিশকে কঠোরভাবে চাপানো সেরা।
বার্ক

ঠিক আছে, তবে ওপি কোনও প্রোডাকশন সাইটে এই ত্রুটিগুলি আড়াল করতে আগ্রহী বলে মনে হচ্ছে। (দেখুন, "তারা ডেভেল সাইটে ব্যবহারযোগ্য তবে এগুলি একটি বড় সুরক্ষা ঝুঁকি, এবং সাইটটিকে লাইভে খারাপ দেখায়)")
কিমলালানো

উত্তর:


29

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

স্ক্রিনশট


1
কিছু কারণে, আমি এটি করতে সক্ষম নই। ক্লিক ক্লিক করুন আমার নির্বাচন পুনরায় সেট করা হয়। ডাটাবেসে আমি নিজেই এটি পরিবর্তন করতে পারি এমন কি কোনও উপায় আছে বা এই জাতীয় কিছু ??
নিরঞ্জন এন রাজু

17

প্রস্তাবিত হিসাবে, Administration » Configuration » Development(এ /admin/config/development/logging) তে আপনি ত্রুটি বার্তাগুলি প্রদর্শিত অক্ষম করার জন্য সেটিংসটি খুঁজে পেতে পারেন তবে এটি ত্রুটি / বিজ্ঞপ্তিগুলি সম্পূর্ণরূপে অক্ষম করবে না।

এটি কারণ ড্রুপাল 7 ই_এলএল প্রয়োগ করে, তাই সেগুলি এখনও সিসলগে লিখিত রয়েছে এবং আপনি সেগুলি আপনার ওয়েবসাইটের কার্য সম্পাদনকে প্রভাবিত করে সাম্প্রতিক লগগুলিতে দেখতে পারেন ।

বিজ্ঞপ্তিগুলি সম্পূর্ণরূপে অক্ষম করতে, আপনাকে নিজের settings.phpবা php.iniফাইলে নিম্নলিখিত লাইনটি যুক্ত করতে হবে:

ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

বিজ্ঞপ্তি এবং কোডিং মান সতর্কতা ব্যতীত সমস্ত ত্রুটিগুলি দেখান।

প্রস্তাবিত নয় এমন সমস্ত পিএইচপি ত্রুটিগুলি নিঃশব্দ করার জন্য, আপনি নিজের সেটিংস ফাইলটিতে যুক্ত করার চেষ্টা করতে পারেন:

error_reporting(0); // Disable all errors.

দেখুন: error_reporting()


E_ALLলগিংয়ের জন্য দায়বদ্ধ ড্রুপাল 7 কোর কোড (ফাইল includes/bootstrap.inc:):

// Enforce E_ALL, but allow users to set levels not part of E_ALL.
error_reporting(E_ALL | error_reporting());

আরো দেখুন:


4

একটি জিনিস যা কেউ উল্লেখ করেনি যা লোকদের জানার জন্য সহায়ক হতে পারে তা হ'ল দ্রুপাল 7 স্থানীয় সিস্টেমের ত্রুটি প্রতিবেদন করার সমস্ত স্তরকে উপেক্ষা করে। সুতরাং আপনি দ্রুপালে পিএইচপি ত্রুটি প্রতিবেদন করার স্তর নির্ধারণ করতে .htaccess বা php.ini ব্যবহার করতে পারবেন না।

ডি 8-তে এর জন্য প্রস্তাবিত একটি প্যাচ রয়েছে, তবে বর্তমানে ডি 7-এ আপনি প্রশাসনিক পৃষ্ঠায় কিমলালানো নির্দেশিত error টি ত্রুটিযুক্ত মুখোশ – সমস্ত কিছুই, বা ত্রুটি ও সতর্কতা–- এর মধ্যে সীমাবদ্ধ।


3

সেটিংস সর্বদা অ্যাডমিন / কনফিগারেশন / উন্নয়ন / লগিং এ থাকে :)


অনেক ধন্যবাদ! আমি এখনও সবুজ বিজ্ঞপ্তিগুলি জীবিত রাখতে চাই। আশা করি তারা বিলুপ্ত হবে না।
drupal_stuff_alter

2

ড্রাশ পদ্ধতিটি কেন এত অননুমোদিত তা নিশ্চিত নয়, তবে আমার বিল্ড স্ক্রিপ্টে রয়েছে:

drush vset error_level 0

... যা লগটিতে ত্রুটি বার্তাগুলি সংরক্ষণ করে তবে সেগুলি স্ক্রিনে প্রদর্শন করে না।


1

উপরে পোস্ট করা সমাধান কেনারবটিতে আপনার উদ্ধৃতি যুক্ত করতে হতে পারে:

ini_set('error_reporting', 'E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR');

এটি ভুল - এগুলি ধ্রুবক, তাদের উদ্ধৃতি দেওয়া উচিত নয়। ত্রুটি_বর্ধনা একটি পূর্ণসংখ্যা মান যা পূর্বে পূর্ণসংখ্যার ওআরএড একত্রে গঠিত। এটি এখানে পেয়ে যাওয়ায় ধ্রুবক নামগুলি দিয়ে তৈরি স্ট্রিং সেটিংস নয়।
দতাশমন

0

এর জন্য একটি মডিউল রয়েছে:

https://www.drupal.org/project/errorlevelpermission

প্রকল্প পৃষ্ঠা থেকে:

তাই আপনি যা করতে পারেন

  • সাইট বিল্ডারের ভূমিকা রয়েছে (বা এমনকি একটি বিশেষ ডিবাগার ভূমিকা) ত্রুটি এবং বিজ্ঞপ্তিগুলি দেখুন
  • অন্যদের ত্রুটি এবং বিজ্ঞপ্তিগুলি দেখতে না পান।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.