PDA

View Full Version : Maximum execution time of 60 seconds



php_love
سه شنبه 21 شهریور 1391, 18:07 عصر
سلام دوستان

تو لوکال داشتم یه سری عملیات انجام میدام که با این پیغام مواجه شدم .

میشه در رابطه با این پیغام توضیح کامل بدید و اینکه آیا میشه این زمان رو جهت محاسبات , بیشتر کرد .
آخه سایتی هستش که تعداد کاربراش زیاده و هر موقع میخوام امتیاز کاربرا رو محاسبه کنم در آخر میبینم 20 الی 30 درصد کاربرا امتیازشون محاسبه نشده .

<b>Fatal error</b>: Maximum execution time of 60 seconds exceeded in <b>E:\xampp\htdocs\myproject\connect_to_db.php</b>

mtchabok
سه شنبه 21 شهریور 1391, 18:54 عصر
ini_set('max_execution_time', 0)
البته اگه در هاستهای رایگان و اشتراکی استفاده کنین کار نمیکنه .

Hr.Ziggurat
سه شنبه 21 شهریور 1391, 19:29 عصر
اهه! چرا تو همون تاپیک قبلیه نپرسیدی؟ مشکل قبلی حل نشد؟
این خطا زمانی پیش میاد که اجرای کد بیشتر از 30 ثانیه طول بکشه و واسه ی جلوگیری هنگ دائمی و امنیت بیشتره.
یه راهش همینه که دوستمون گفت ، یه راه دیگش استفاده از این تابعه :


set_time_limit(second)

اگه مقدارش رو صفر بدی محدودیت زمانی حذف میشه. البته اگه safe_mode تو php.ini سرورت روشن باشه اینم جواب نمیده.
اگه مشکلت نشون دادن این خطاه ، واسه ی جلوگیری از نشون دادن پیام خطا میتونی از این دستور استفاده کنی :


function OnShutdown () {
echo "Error : Timeout!";
}
register_shutdown_function('OnShutdown');

در مورد register_shutdown_function باید بگم که وقتی دستور exit اجرا بشه یا برنامه خطا داشته باشه ، تابع ورودیش فراخونی میشه.
واسه اون مشکل قبلیت اینم امتحان کن : داخل حلقه داده هارو تو یه متغییر بریز ، بعد حلقه اون متغییر رو echo یا print کن. چون خود این دستور echo یا print خیلی زمان میبرند.:لبخندساده: