تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 1 از 1

نام تاپيک: تابع error_reporting

  1. #1
    آخر فروم باز Mr.Pooya's Avatar
    تاريخ عضويت
    Feb 2010
    محل سكونت
    تهران
    پست ها
    2,134

    پيش فرض تابع error_reporting

    سلام

    در زبان برنامه نویسی PHP این قابلیت به صورت پیش فرض وجود داره که سطح خطاهای گزارش شده را تعیین کرد. یعنی اگر شما در برنامه تحت وب خود خطایی دارید که مشکلی در روند کار برنامه و امنیت برنامه ایجاد نمی کنه می توانید به صورت موقت خطا ها را غیر فعال کرده تا در فرصت مناسب خطا را یافته و کلا از بین ببریدش.

    در PHP چندین راه هست برای این کار:

    ۱- اگر به تنظیمات PHP سرورتون دسترسی دارید می تونید فایل php.ini رو باز کنید و این مقدار رو پیدا کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و به این صورت تغییرش بدید :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    این روش نمایش خطا ها رو تماما غیر فعال می کند می کند که اصلا پیشنهاد نمیشه.

    ۲- می تونید برای یک برنامه خاص روی سرور ارور ها رو غیر فعال کنید به این صورت که شما باید فایل اصلی این برنامه که در تمامی صفحات استفاده میشه رو پیدا کنید و فانکشن های زیر رو در اون قرار بدید :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در خط اول فانکشن ini_set مقادیر فایل php.ini رو تغییر میده که اگر به اون فایل دسترسی ندارید یا در هر صورت نمی خواهید تغییرش بدید این روش خوبی هست و در خط دوم هم error_reporting همون تابع مورد نظر ما هست که خطا ها رو نشون میده. البته اگر display_errors رو خاموش کنید ارور ها دیگر نمایش داده نخواهند شد ولی error_reporting رو هم می تونید استفاده کنید که به صورت کلی syntax این تابع مانند زیر هست :

    1 E_ERROR Fatal run-time errors. Errors that can not be recovered from. Execution of the script is halted
    2 E_WARNING Non-fatal run-time errors. Execution of the script is not halted
    4 E_PARSE Compile-time parse errors. Parse errors should only be generated by the parser
    8 E_NOTICE Run-time notices. The script found something that might be an error, but could also happen when running a script normally
    16 E_CORE_ERROR Fatal errors at PHP startup. This is like an E_ERROR in the PHP core
    32 E_CORE_WARNING Non-fatal errors at PHP startup. This is like an E_WARNING in the PHP core
    64 E_COMPILE_ERROR Fatal compile-time errors. This is like an E_ERROR generated by the Zend Scripting Engine
    128 E_COMPILE_WARNING Non-fatal compile-time errors. This is like an E_WARNING generated by the Zend Scripting Engine
    256 E_USER_ERROR Fatal user-generated error. This is like an E_ERROR set by the programmer using the PHP function trigger_error()
    512 E_USER_WARNING Non-fatal user-generated warning. This is like an E_WARNING set by the programmer using the PHP function trigger_error()
    1024 E_USER_NOTICE User-generated notice. This is like an E_NOTICE set by the programmer using the PHP function trigger_error()
    2048 E_STRICT Run-time notices. PHP suggest changes to your code to help interoperability and compatibility of the code
    4096 E_RECOVERABLE_ERROR Catchable fatal error. This is like an E_ERROR but can be caught by a user defined handle (see also set_error_handler())
    8191 E_ALL All errors and warnings, except level E_STRICT (E_STRICT will be part of E_ALL as of PHP 6.0)


    برای خاموش کردن نمایش ارور ها هم همونطور که گفته شد از مقدار ۰ استفاده کنید.

    ۳- اگر فقط می خواهید برای یک فانکشن یا مقدار ارور ریپورتینگ رو خاموش کنید کافی هست علامت @ را به اول آن اضافه کنید برای مثال :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که require_once در اینجا فانکشنی هست که به عنوان مثال استفاده شده است.

    امیدوارم این آموزش مورد استفاده قرار بگیره

  2. این کاربر از Mr.Pooya بخاطر این مطلب مفید تشکر کرده است


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •