Fatal error: Maximum execution time of 30 seconds exceeded

Mohammadreza

Well-Known Member
سلام دوستان و اساتيد عزيز
خواستم بدونم راهي هست كه زماني كه قراره اين ارور روي صفحه ظاهر بشه جاش يه پيغام خودمون بنويسيم ؟ ...
با تشكر
 

sunrise

Member
مي تونيد اين کار رو بکنيد:
PHP:
function HandleError($errorno, $errorstring)
{
	echo "<strong>Error $errorno -</strong> $errorstring";
}

set_error_handler("HandleError");
اينطوري خطاهايي که بصورت trigger هستند بصورت دستي هندل ميشن و به اون صورتي که شما مايل هستيد به نمايش در مياد.

البته اگه ميخواين که فقط همين خطا بصورت دستي handle بشه بصورت زير عمل کنيد:
PHP:
function HandleError($errorno, $errorstring)
{
	if (preg_match('#Maximum execution time of ([0-9]+) seconds exceeded#', $errorstring))
	{
		echo "<strong>Error $errorno -</strong> $errorstring";
	}
	else
	{
		trigger_error($errorstring, E_USER_ERROR);
	}
}

set_error_handler("HandleError");
 

sunrise

Member
ممنون مي شم يه مثال بزنيد !
البته همين کل ماجرا بود اما اين مثال رو ببينيد:
PHP:
<?php
error_reporting(E_ALL & E_NOTICE);
function HandleError($errorno, $errorstring)
{
    echo "<strong>Error $errorno -</strong> $errorstring";
}

set_error_handler("HandleError");

$array = split();
?>
 

Mohammadreza

Well-Known Member
ممنون
اين كد واسه وارنينگ به خوبي عمل مي كنه !
مثلا
PHP:
function HandleError($errorno, $errorstring)
{
    echo "$errorstring";
}

set_error_handler("HandleError");
$i = 10/0;
HandleError($i,'oh no');

اما واسه fatal & parse error كار نمي كنه !
 

ziXet

مدیر انجمن PHP/MYSQL
دوستان راهی برای catch کردن fatal error و parse error نیست!

خودتون خسته نکنید!!
 

sunrise

Member
ممنون
اين كد واسه وارنينگ به خوبي عمل مي كنه !
مثلا
PHP:
function HandleError($errorno, $errorstring)
{
    echo "$errorstring";
}

set_error_handler("HandleError");
$i = 10/0;
HandleError($i,'oh no');

اما واسه fatal & parse error كار نمي كنه !
همونطور که امير رضا جان هم گفت خطاهاي Fatal قابليت اين رو ندارند که بصورت دستي بررسي شوند و من هم از اينکه قبل از تحقيق کامل اين کد رو ارائه کردم عذرخواهي مي کنم که البته دليلش اين بود که من هيچ وقت به اينکه خطاهاي مهلک (که واقعا اگه وجود داشته باشه بخش عظيمي از کار ممکنه دچار مشکل بشه) رو در هنگام وقوع بررسي کنم فکر نکرده بودم.
 

Mohammadreza

Well-Known Member
من هم از اينکه قبل از تحقيق کامل اين کد رو ارائه کردم عذرخواهي مي کنم
نه عزيز ممنون ، تازه چيزه جديد ياد گرفتيم

من هيچ وقت به اينکه خطاهاي مهلک (که واقعا اگه وجود داشته باشه بخش عظيمي از کار ممکنه دچار مشکل بشه)
اين خطا توي همه اسكريپت ها پيش مياد و هميشگي نيست ، و فكر مي كنم بيشتر مربوط به مرورگر باشه !

باز هم از همگي ممنون
 

جدیدترین ارسال ها

بالا