سؤال

كيفية إيقاف تشغيل هذا الخطأ في WAMP:

لاحظ إزاحة غير محددة

أرغب في تشغيل هذا الخطأ فقط، ولكن ليس كل الأخطاء.

هل كانت مفيدة؟

المحلول

هناك مسألتان في العمل هنا. واحد هو الأخطاء التي تقارير PHP، والثاني هو ما إذا كان يعرض هذه الأخطاء في الصفحة أم لا في الصفحة (بدلا من سجل خطأ Apache). إذا كنت ترغب في إيقاف تشغيل الإشعارات فقط:

<?php
error_reporting(E_ALL & ~E_NOTICE);
?>

إذا كنت ترغب في الإبلاغ عن الإشعارات إلى سجل الخطأ الخاص بك ولكن لا تعرضها للمستخدم، فقم بذلك:

<?php
ini_set('display_errors','off');
?>

لاحظ أن إيقاف تشغيل أخطاء العرض سيتوقف عن عرض جميع الأخطاء على المستخدم النهائي، وستحتاج إلى إلقاء نظرة على سجل الأخطاء، وعادة ما تكون موجودة في / var / logd / http_log لمعرفة أي أخطاء أثناء الاختبار.

نصائح أخرى

القي نظرة على error_reporting().

هل يمكن أن تحدد الإبلاغ عن الخطأ

error_reporting(E_ERROR | E_WARNING | E_PARSE)

ولكن من الأفضل أن تحقق فعلا ما هو سبب Notice وإصلاحها. ثم أنت على جانب حفظ.

E_NOTICE
إشعارات وقت التشغيل. تشير إلى أن البرنامج النصي واجه شيئا يمكن أن يشير إلى وجود خطأ، ولكنه يمكن أن يحدث أيضا في المسار العادي لتشغيل البرنامج النصي.

(إذا لم تتمكن من إصلاح الرمز ...) يمكنك استبعاد الإشعارات عن طريق تعيين مستوى إعداد التقارير x & ~E_NOTICE, ، على سبيل المثال

<?php error_reporting( error_reporting() & ~E_NOTICE );

أو في php.ini الخاص بك (أو ما شابه)

error_reporting=E_ALL & ~E_NOTICE

php.ini => error_reporting = e_all & ~ e_notice

خطأ -> إشعار إزاحة غير محدد

الشيء الرئيسي هو إزالة الخطأ في البرنامج النصي الخاص بك. ترغب دائما في تصميم البرنامج الذي هو الخطأ مجانا بدلا من مختبئ الأخطاء.

لا يتم تعيين فور الصفيف، لذلك عندما تحاول PHP الوصول إلى قيمة مفاتيح الصفيف التي تواجهها إزاحة غير محددة.

$new_array = array('1','2','3');//If I have an array
//We can now access:
$new_array[0];
$new_Array[1];
$new_array[2];
//If we try and access
$new_Array[3];

سنحصل على نفس الخطأ -> خطأ -> إشعار غير محدد

 error_reporting(E_ALL);
 ini_set('display_errors', 'On');
 ini_set('html_errors', 'Off');

انتقل إلى هذا الاتجاه على نظام التشغيل Windows OS C: WAMP BIN Apache Apache2.4.4 BIN ثم افتح ملف PHP.INI من قبل أي محرر يوصى به [Sublime] في 514 فقط لصق هذا السطرين.

؛ error_reporting = e_all
error_reporting = e_all & ~ e_notice

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top