পিএইচপি 5.4-তে কঠোর মান অক্ষম করা হচ্ছে


95

আমি বর্তমানে পিএইচপি 5.4 এ একটি সাইট চালাচ্ছি, এর আগে আমি আমার সাইটটি 5.3.8 তে চালাচ্ছিলাম। দুর্ভাগ্যক্রমে, পিএইচপি 5.4 একত্রিত হয় E_ALLএবং এর E_STRICTঅর্থ এই যে আমার আগের সেটিংসটি error_reportingএখন কাজ করে না। আমার আগের মানটি ছিল E_ALL & ~E_NOTICE & ~E_STRICTআমি কি একবারে একবারে মানগুলি সক্ষম করেছিলাম?

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


11
পরামর্শ ... কোডটি ঠিক করুন বা বাগগুলি ডিবাগ করা আরও ভাল এবং আরও কঠিন হয়ে উঠবে
বাবা

7
s / দুর্ভাগ্যক্রমে / ভাগ্যক্রমে
NikiC

96
পরামর্শের জন্য ধন্যবাদ, তবে পুরো jfusion phpbb3 প্লাগইনটি আবার লিখতে আমার প্রয়োজনীয় জ্ঞানের অভাব রয়েছে। যদিও কমল হওয়ার জন্য ধন্যবাদ।
আইকোম্রেড 20

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

7
এটি পুরোপুরি যুক্তিসঙ্গত প্রশ্ন এবং হ্যাঁ @ আইকোম্রেড - আপনি এখানে শঙ্কা এবং কটাক্ষ সম্পর্কে সঠিক are এটি স্ট্যাকওভারফ্লোর কম আকর্ষণীয় বৈশিষ্ট্য। এগুলি সমস্তই বলেছিল, আমি আপনাকে কমপক্ষে কিছু সতর্কতাগুলি মোকাবেলা করার পরামর্শ দিচ্ছি - এমনকি যদি আপনি সেগুলি সব না করতে পারেন।
অর্ধেক

উত্তর:


139

যেহেতু মন্তব্যকারীরা বলেছেন যে ত্রুটিগুলি সমাধান করা সর্বোত্তম বিকল্প, তবে সীমিত সময় বা জ্ঞানের সাথে, এটি সর্বদা সম্ভব হয় না। আপনার php.ini পরিবর্তন

error_reporting = E_ALL

প্রতি

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

আপনার যদি php.ini অ্যাক্সেস না থাকে তবে আপনি সম্ভবত এটি আপনার .htaccess ফাইলে রেখে দিতে পারেন:

php_value error_reporting 30711

এটি E_ALL মান (32767) এবং E_STRICT (2048) এবং E_NOTICE (8) মানগুলি সরানো।

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

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

এর মধ্যে একটির সাহায্যে আপনাকে সফ্টওয়্যারটি ব্যবহার করতে সক্ষম হতে হবে। বিজ্ঞপ্তিগুলি এবং কঠোর স্টাফগুলি যদিও সমস্যা বা সম্ভাব্য সমস্যার সূচক এবং আপনি খুঁজে পেতে পারেন যে কিছু কোড পিএইচপি 5.4-এ সঠিকভাবে কাজ করছে না।


11
আমি পিএইচপি 5.4.5 ব্যবহার করছি এবং আমি উপরের সব চেষ্টা করেছিলেন কিন্তু আমি অক্ষম করা যাবে কঠোর বিজ্ঞপ্তিগুলি পারা :( অন্য কোন ধারনা?
কো RO

4
আপনি ত্রুটি_পূরণ () এর অন্যান্য অংশগুলির সাথে & ~ E_DEPRECATED দেওয়ার চেষ্টা করতে পারেন। আপনি কি বার্তা দেখতে পাচ্ছেন?
ডেভিড স্টকটন

4
@ রোকো আপনার কোডটি কোথাও এটি ওভাররাইড করা সম্ভব? Php.ini এ এটি নিষ্ক্রিয় করার পরেও আমি কঠোর ত্রুটিগুলি দেখছিলাম, তখন আমি বুঝতে পারি এটি কেবল কয়েকটি ওয়েবসাইটের জন্য, ড্রুপাল ব্যবহারকারীদের জন্য, যেখানে মান কোডে সেট করা হচ্ছে
অ্যান্ড্রুটবার

4
পছন্দ করুন তত্ত্বের মধ্যে ত্রুটি_রপোর্টিং সেটিং ত্রুটিগুলি প্রভাবিত করে যেগুলি যে কোনও জায়গায় প্রদর্শিত হবে। ডিসপ্লে_রিয়ার্স সেটিংটি আপনাকে আউটপুটে (পিএইচপি পৃষ্ঠাগুলিতে) ত্রুটিগুলি পাবে কি না তা প্রভাবিত করবে এবং ত্রুটি_ব্লগ যেখানে লগগুলিতে ত্রুটিগুলি লিখিত হবে তা প্রভাবিত করবে। যদি ডিসপ্লে_রিয়ারগুলি চালু থাকে তবে আপনার লগের মতো স্ক্রিনে একই ত্রুটিগুলি দেখতে পাওয়া উচিত।
ডেভিড স্টকটন

4
স্ট্যাকওভারফ্লো স্মাগলর্ড turning এ পরিণত না করে সাধারণ প্রশ্নের সহজ উত্তর দেওয়ার জন্য +1 ™
জোশুয়া পেচ

2

.htaccess php_value কেবলমাত্র যদি আপনি ওয়েব সার্ভার অ্যাপাচি মডিউল হিসাবে পিএইচপি সার্ভার এপিআই ব্যবহার করেন তবে কাজ করছে। IfModule সিনট্যাক্স ব্যবহার করুন:

# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
    php_value error_reporting 30711
</IfModule>

আপনি যদি পিএইচপি সার্ভার এপিআই সিজিআই / ফাস্টসিজিআই ব্যবহার করেন

ini_set('error_reporting', 30711);

বা

error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);

আপনার পিএইচপি কোড, বা পিএইচপি কনফিগারেশন ফাইলগুলিতে .user.ini | php.ini পরিবর্তন:

error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE

আপনার ভার্চুয়াল হোস্ট, সার্ভার স্তর।


1

এটি আমার পক্ষে কাজ করেছিল, যখন আমি

পিএইচপি কোডের কোথাও একই সময়ে দুটি জায়গায় ত্রুটি-প্রতিবেদন সেট করি

ini_set('error_reporting', 30711);


এবং .htaccess ফাইলে

php_value error_reporting 30711

শুধুমাত্র php.ini অ্যাক্সেস না করেই কেবল আমার পক্ষে কাজ করেছে, উপরের আর একটি নিজে নিজেই কাজ করবে না, কেবল 500 ত্রুটি ফিরে পেয়েছিল। দুজনে একসাথে বাবু !!!
জেমি হাটবার

1

আপনার যদি E_DEPRACATED এছাড়াও অক্ষম করতে হয় তবে ব্যবহার করুন:

php_value error_reporting 22527

আমার ক্ষেত্রে সিএমএস মেড সিম্পল "E_STRICT ত্রুটি_বন্দরে সক্ষম করা হয়েছে" পাশাপাশি "E_DEPRECATED সক্ষম হয়েছে" অভিযোগ করছিল। .Htaccess এ একটি লাইন যুক্ত করা উভয় ভুল কনফিগারেশনের সমাধান করেছে।


0

শিরোনাম, আপনার এটিকে প্রভাবিত করতে LAMP, অ্যাপাচি বা আপনার যা ব্যবহার করা হোক তা পুনরায় আরম্ভ করতে হবে need এই সম্পর্কে কিছুক্ষণের জন্য আমাদের মস্তিষ্ককে ছড়িয়ে দেওয়া, মনে হচ্ছে পরিষেবাগুলি পুনরায় চালু না হওয়া পর্যন্ত কোনও প্রভাব ফেলবে না সম্ভবতঃ ওয়েবসাইটটি ক্যাশে হওয়ার কারণে।


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