কঠোর মানদণ্ডের জন্য ত্রুটি প্রতিবেদন অক্ষম করতে আমার উপরে আমার পিএইচপি স্ক্রিপ্টটি সেটআপ করতে হবে।
কেউ সাহায্য করতে পারেন?
কঠোর মানদণ্ডের জন্য ত্রুটি প্রতিবেদন অক্ষম করতে আমার উপরে আমার পিএইচপি স্ক্রিপ্টটি সেটআপ করতে হবে।
কেউ সাহায্য করতে পারেন?
উত্তর:
আপনি কি ত্রুটি প্রতিবেদন অক্ষম করতে চান, বা কেবল ব্যবহারকারীকে এটি দেখা থেকে আটকাতে চান? এমনকি কোনও প্রোডাকশন সাইটে ত্রুটিগুলি লগ করা সাধারণত ভাল ধারণা।
# in your PHP code:
ini_set('display_errors', '0'); # don't show any errors...
error_reporting(E_ALL | E_STRICT); # ...but do log them
তারা আপনার স্ট্যান্ডার্ড সিস্টেম লগ এ লগ করা হবে, বা error_log
আপনি ত্রুটি কোথায় যেতে চান তা নির্দিষ্ট করতে নির্দেশিকা ব্যবহার করুন ।
php.ini
ফাইলেও সেট করতে পারেন , যেমন আপনি যদি পিএইচপি কোডটি সংশোধন করতে না পারেন।
php.ini
বা .htaccess
আমার পিএইচপি কোডে বা অন্য কোথাও।
কোন ত্রুটি জন্য।
error_reporting(0);
বা কেবল কঠোর নয়
error_reporting(E_ALL ^ E_STRICT);
এবং আপনি যদি সমস্ত ত্রুটি আবার প্রদর্শন করতে চান তবে ব্যবহার করুন
error_reporting(-1);
^
এক ধরণের ত্রুটি বাদ দেওয়ার জন্য এটি কেবল ভাল। আপনি যদি অতিরিক্ত ধরণের বন্ধ করতে চান তবে আপনার E_ALL & ~E_DEPRECATED & ~E_STRICT
ফর্ম্যাটটি ব্যবহার করা উচিত । অথবা সম্ভবত (E_ALL & ~(E_DEPRECATED | E_STRICT))
ফর্ম্যাট।
ini_set('error_reporting', E_ALL&~E_STRICT);
ini_set('error_reporting', E_ALL^E_STRICT);
^
("xor") এর পরিবর্তে & ~
("এবং" নয়) ব্যবহার করা একটি খারাপ ধারণা ! অনুমানের^
উপর নির্ভর করে যে E_STRICT E_ALL এর অংশ এবং সর্বদা এটির অংশ হবে। এটি খারাপ কারণ E_ALL অতীতে পরিবর্তন করেছিল (E_STRICT এর অতীত ছিল না, তবে এখন পিএইচপি 5.4 এর পরে)। যদি অনুমানটি একদিন ব্যর্থ হয়, তবে কেবল ভেঙে যাবে না, তবে আসলে এটি যা করা উচিত তার বিপরীতে করবে: এটি XOR ( ) কীভাবে কাজ করে তার কারণে এটি E_STRICT সক্ষম করবে । তবে E_STRICT সর্বদা অক্ষম করে দেবে, E_ALL এর বর্তমান মান নির্বিশেষে। সুতরাং ব্যবহার করা উচিত। ^
^
& ~
& ~
উপরের সমস্ত সমাধান সঠিক। তবে, যখন আমরা একটি সাধারণ পিএইচপি অ্যাপ্লিকেশন সম্পর্কে কথা বলছি, তাদের প্রতিটি পৃষ্ঠায় অন্তর্ভুক্ত করতে হবে, এটির প্রয়োজন। এটি সমাধানের একটি উপায় হ'ল .htaccess
মূল ফোল্ডারে। শুধু ত্রুটিগুলি আড়াল করার জন্য। [ফাইলটিতে একটি অনুসরণকারী রেখা রাখুন]
php_flag display_errors off
অথবা
php_value display_errors 0
এর পরে, ত্রুটি প্রতিবেদন সেট করতে
php_value error_reporting 30719
আপনি যদি ভাবছেন যে কীভাবে মানটি 30719
এল, E_ALL (32767), E_STRICT (2048) আসলে সংখ্যার মান এবং ( 32767 - 2048 = 30719
) ধরে রাখে
php_admin_value error_reporting
এটি কাজ করার জন্য (vhost কনফিগারেশনে) ব্যবহার করেছি।
ত্রুটি_বিন্যাসের পতাকাঙ্কের ডিফল্ট মান হ'ল php.ini এ সেট না থাকলে E_ALL এবং ~ E_NOTICE । তবে কিছু ইনস্টলেশন (বিশেষত বিকাশ পরিবেশকে লক্ষ্য করে ইনস্টলেশন) E_ALL রয়েছে | E_STRICT এই পতাকাটির মান হিসাবে সেট করেছে (এটি উন্নয়নের সময় প্রস্তাবিত মান )। কিছু ক্ষেত্রে, বিশেষত যখন আপনি কিছু ওপেন সোর্স প্রকল্প পরিচালনা করতে চান, যেগুলি পিএইচপি 5.3 যুগের আগে বিকাশিত হয়েছিল এবং এখনও আপনার বিকাশের পরিবেশে পিএইচপি 5.3 দ্বারা সংজ্ঞায়িত সেরা অনুশীলনগুলি দিয়ে আপডেট করা হয়নি, আপনি সম্ভবত কিছু পাওয়ার চেষ্টা করবেন আপনার মতো বার্তা পাচ্ছেন। এই পরিস্থিতি মোকাবেলার সর্বোত্তম উপায় হ'ল E_ALL কে ত্রুটি_বর্ধমান পতাকার মান হিসাবে সেট করা হয়php.ini বা কোডে (সম্ভবত ওয়েব-রুটে সূচি-পর্বের মতো কোনও ফ্রন্ট-কন্ট্রোলারে:
if(defined('E_STRICT')){
error_reporting(E_ALL);
}
ওয়ার্ডপ্রেস
আপনি যদি ওয়ার্ডপ্রেস পরিবেশে কাজ করেন তবে ওয়ার্ডপ্রেস ফাংশনে ডাব্লুপি-ইনপুট / লোড.এফপি ফাইলটিতে ত্রুটির স্তর নির্ধারণ করে wp_debug_mode()
। সুতরাং আপনাকে এই ফাংশনটি কল করার পরে স্তরটি পরিবর্তন করতে হবে (কোনও ফাইলে গিটে চেক করা হয়নি যাতে কেবল এটি বিকাশ হয়), অথবা হয় সরাসরি error_reporting()
কলটি পরিবর্তন করুন
আমি এমন একটি উত্তর দেখতে পাই নি যা পরিষ্কার ও উত্পাদন-প্রস্তুত সফ্টওয়্যারটির জন্য উপযুক্ত, তাই এখানে এটি যায়:
/*
* Get current error_reporting value,
* so that we don't lose preferences set in php.ini and .htaccess
* and accidently reenable message types disabled in those.
*
* If you want to disable e.g. E_STRICT on a global level,
* use php.ini (or .htaccess for folder-level)
*/
$old_error_reporting = error_reporting();
/*
* Disable E_STRICT on top of current error_reporting.
*
* Note: do NOT use ^ for disabling error message types,
* as ^ will re-ENABLE the message type if it happens to be disabled already!
*/
error_reporting($old_error_reporting & ~E_STRICT);
// code that should not emit E_STRICT messages goes here
/*
* Optional, depending on if/what code comes after.
* Restore old settings.
*/
error_reporting($old_error_reporting);
E_ALL & ~E_DEPRECATED & ~E_STRICT
উত্পাদন করার জন্য ত্রুটি প্রতিবেদন সেট করে । লক্ষ্য করুন যে তারা আপনাকে কঠোর মান অক্ষম করার পরামর্শ দেয়।