advertise laitec sharif univercity استخراج بیت کوین با کامپیوتر استخراج بیت کوین با کامپیوتر
دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

3000 تومان
دانلود سورس پروژه پایانی وب سایت بنگاه املاک با php

دانلود سورس پروژه پایانی وب سایت بنگاه املاک با php

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

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

3000 تومان
دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

دانلود سورس n وزیر با جست وجوی ممنوع در سی شارپ #C

3000 تومان
دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

3000 تومان

مدیریت خطا در PHP پی اچ پی

مدیریت خطا به طور پیش فرض در PHP :یک پیغام خطا با نام فایل، شماره خط و یک پیام توصیف خطا به مرورگر ارسال می شود.متد های مختلف مدیریت خطا عبارتنداز: عبارات ساده تابع die، خطاهای سفارشی و باعث خطا، گزارش خطا
مدیریت خطا در PHP پی اچ پی

مدیریت خطا در PHP

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

 

رسیدگی به خطاها در PHP

هنگام ایجاد اسکریپت ها و برنامه های تحت وب، مدیریت خطا، یک بخش مهم است. اگر کد شما فاقد کد چک کردن خطا باشد، برنامه شما ممکن است بسیار غیر حرفه ای به نظر بیاید و ریسک های امنیتی در برنامه هایتان وجود خواهد داشت.

در این پست برخی از رایج ترین متدهای چک کردن و مدیریت خطاها در PHP را خواهید دید.

ما متد های مختلف مدیریت خطا را نشان خواهیم داد:

► عبارات ساده "die()"

► خطاهای سفارشی و باعث خطا

► گزارش خطا

 

مدیریت خطای عمومی: استفاده از تابع die()

اولین مثال، یک اسکریپت ساده است که یک فایل متنی را باز میکند. ( در مثالها به جای() از علامتهای <> استفاده کنید)

 

(?php
$file=fopen("welcome.txt","r");
?)

 

اگر فایل وجود نداشته باشد ممکن است خطایی مانند این را دریافت کنید:

Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:
No such file or directory in C:webfolder est.php on line 2

 

برای جلوگیری از دریافت چنین پیام هایی توسط کاربر،باید قبل از اینکه بخواهیم به فایل دسترسی داشته باشیم، از وجود آن مطمئن شویم.

(?php
if(!file_exists("welcome.txt")) {
  die("File not found");
} else {
  $file=fopen("welcome.txt","r");
}
?)

 

حال اگر فایل وجود نداشته باشد، پیغامی مثل این صادر خواهد شد:

File not found

 

کد بالا خیلی کارآمدتر از کد قبلی است زیرا بعد از خطا، از یک مکانیسم ساده مدیریت خطا برای جلوگیری از اسکریپت استفاده میکند.

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

 

ایجاد یک مدیریت خطای سفارشی

ایجاد یک کنترل خطای سفارشی بسیار ساده است. به سادگی می توان یک تابع خاص را تعریف کرد که هنگام رخ دادن خطا در PHP فراخوانی شود.

این تابع باید قادر به مدیریت حداقل دو پارامتر (سطح خطا و پیغام خطا) باشد اما می تواند تا 5 پارامتر را قبول کند: (اختیاری: فایل، شماره خط، و مفهوم خطا)

 

سینتکس تابع مدیریت خطا

error_function(error_level,error_message,
error_file,error_line,error_context)

 

پارامترهای این سینتکس و توضیحات هر کدام 

► error_level : این پارامتر، الزامی است، سطح گزارش خطای تعیین شده توسط کاربر را مشخص میکند و باید یک مقدار عددی باشد.

► error_message : پارامتر الزامی، پیغام خطایی برای خطای تعیین شده توسط کاربر را مشخص می کند.

► error_file : پارامتر اختیاری که نام فایلی را که خطا در آن رخ داده است، مشخص میکند.

► error_line : اختیاری و شماره خطی را که خطا در آن رخ داده است، تعیین می کند.

► error_context : پارامتر اختیاری که آرایه در حال استفاده شامل متغیرها و تمام مقادیر آنها را مشخص میکند.

 

سطوح گزارش خطا

این سطوح گزارش خطا، انواع مختلف خطای تعیین شده توسط کاربر هستند که می توان از آنها استفاده کرد:

در زیر تابعی برای مدیریت خطا را می بینید:

function customError($errno, $errstr) {
  echo "(b)Error:(/b) [$errno] $errstr(br)";
  echo "Ending Script";
  die();
}

 

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

حال که یک تابع مدیریت خطا داریم، باید تصمیم بگیریم که چه موقع آن را فعال کنیم.

 

تنظیم هندلر خطا

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

set_error_handler("customError");

 

از آنجا که ما می خواهیم تابع سفارشی ما تمام خطاها را مدیریت کند، تابع set_error_handler() تنها به یک پارامتر نیاز دارد، پارامتر دوم می تواند برای تعیین سطح خطا اضافه شود.

 

تست مدیریت کننده خطا برای نمایش متغیری در خروجی که وجود ندارد:

(?php
//error handler function
function customError($errno, $errstr) {
  echo "Error: [$errno] $errstr";
}

//set error handler
set_error_handler("customError");

//trigger error
echo($test);
?)
خروجی این کد شبیه زیر خواهد بود :
Error: [8] Undefined variable: test

 

 

 



1
نظرات
  • user avatar سیاوش:
    ۰۱:۱۷:۴۷ __ ۱۳۹۵/۰۲/۰۲

    دوستان ممنون میشم واسه رفع این ارور کمکم کنیدتو جوملا 3 میخوام عکس اپلود کنم ارور لاین 531 که میشه این ارور رو میده<?php if(isset($this->images)) foreach($this->images as $img) { ?>

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
کاربرد تابع die در پی اچ پی چیست؟معرفی روش های Error handling با phpمدیریت خطا به طور پیش فرض در PHPآموزش رفع error در phpaچگونگی مدیریت و رفع خطاها در پی اچ پیچگونگی ایجاد یک مدیریت خطای سفارشی در phpنحوه مدیریت خطاهای موجود در پی اچ پیآموزش Error handling in phpرسیدگی به خطاها در پی اچ پیآموزش تنظیم هندلر خطا در پی اچ پیسینتکس تابع مدیریت خطا برای کدهای php لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

کسب درآمد با کامپیوتر
تولید بیت کوین با کامپیوتر

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php