نحوه افزایش مقدار max_execution_time در PHP
در این مقاله گزینه های مختلفی بررسی می شود که به شما امکان می دهد حداکثر مدت زمان مجاز بودن یک اسکریپت را قبل از خاتمه توسط تجزیه کننده در PHP افزایش دهید. با اما تا آخر آموزش افزایش مقدار max_execution_time در PHP همراه باشید..
افزایش مقدار max_execution_time در PHP
معرفی دستورالعمل max_execution_time در PHP
با استفاده از دستور max_execution_time می توانید حداکثر زمان مجاز برای اجرای یک اسکریپت را قبل از خاتمه آن تعیین کنید. بطور مثال اگر زمان مجاز برای اجرای اسکریپت 30 ثانیه باشد، می توانید آن را تا حد معقول طبق نیاز خود افزایش دهید.
اگر اجرای یک اسکریپت بیش از حد طول بکشد، PHP خطای حداکثر زمان اجرا را نمایش می دهد:
Fatal error: Maximum execution time of 30 seconds exceeded
همچنین در صورتی که دستور max_execution_time سفارشی نیست و به طور پیش فرض 30 ثانیه است، ممکن است با این خطا مواجه شوید.
آموزش نحوه افزایش مقدار max_execution_time در PHP
انواع روش های مختلف برای افزایش زمان اجرای اسکریپت:
1. تابع ini_set
یکی از ساده ترین روش ها برای افزایش ارزش دستورالعمل max_execution_time، تابع ini_set است. با کمک تابع ini_set می توانید مقدار دستورات پیکربندی موجود در فایل پیکربندی php.ini را تغییر دهید. بنابراین، می توانید از این تابع برای تغییر مقدار دستور max_execution_time نیز استفاده کنید.
برای افزایش زمان اجرای اسکریپت، می توانید از snippet زیر در بالای اسکریپت خود استفاده کنید:
ini_set('max_execution_time', '300');
در مثال فوق، دستور max_execution_time روی 300 ثانیه تنظیم می شود.
اگر دستور max_execution_time روی 0 تنظیم شود، به اسکریپت اجازه می دهد مدت زمان نامحدودی اجرا شود. استفاده از این گزینه در تولید هرگز توصیه نمی شود.
2. فایل پیکربندی php.ini
برای افزایش ارزش دستور max_execution_time در سطح جهانی می توانید ازاین گزینه استفاده کنید. البته بیاد داشته باشید که برای تغییر فایل php.ini به مجوز نیاز دارید.
اکنون باید فایل php.ini را روی سرور خود قرار دهید. برای قرار دادن فایل php.ini روی سرور خود به این مقاله ما سر بزنید.
بعد از یافتن فایل php.ini با ویرایشگر متن مورد علاقه خود باز کنید و خط زیر را جستجو کنید:
; Maximum execution time of each script, in seconds ; https://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 30
درنهایت باید آن را بر اساس نیاز خود تغییر دهید، ذخیره کنید و سرور وب خود را رستارت کنید.
3. تابع set_time_limit
تابع set_time_limit نیز یک تابع PHP است که به شما امکان می دهد حداکثر زمان اجرای یک اسکریپت را تنظیم کنید. به این معنی که با تابع set_time_limit می توانید تعداد ثانیه هایی را که یک اسکریپت مجاز به اجرا است را تنظیم کنید.
با دستور زیر می توانید نحوه عملکرد تابع set_time_limit را بررسی کنید:
set_time_limit(300);
همانطور که مشاهده می کنید، تابع set_time_limit یک آرگومان واحد می گیرد: تعداد ثانیه ها. اگر این تابع را روی 0 تنظیم کنید، اسکریپت مجاز می شود برای مدت نامحدودی اجرا شود.
در واقع، تابع set_time_limit کمی متفاوت از دستور max_execution_time عمل می کند. وقتی تابع set_time_limit فراخوانی می شود، timeout counter را به صفر باز می گرداند و سپس زمان اجرای اسکریپت که با تابع set_time_limit تنظیم شده بود را اندازه گیری می کند.
فرض کنید که اسکریپت به مدت 10 ثانیه اجرا می شود و سپس تابع set_time_limit فراخوانی می شود تا زمان اجرای اسکریپت را روی 30 ثانیه تنظیم کند. در این حالت، یک اسکریپت قبل از خاتمه، 40 ثانیه اجرا می شود. بنابراین اگر می خواهید از تابع set_time_limit برای تنظیم حداکثر زمان اجرای یک اسکریپت استفاده کنید، باید آن را در بالای اسکریپت خود قرار دهید.
4. Apache Users: The .htaccess File
فایل پیکربندی htaccess. برای افرادی که از سرور Apache برای تقویت وب سایت خود استفاده می کنند را ارائه می شود که به شما امکان می دهد دستورالعمل های پیکربندی php.ini را تنظیم کنید.
ابتدا باید فایل htaccess. را در پروژه خود قرار دهید و سپس بتوانید آن را در ریشه سند پروژه خود پیدا کنید. اگر نمی توانید آن را در ریشه پروژه پیدا کنید، باید مطمئن شوید که توسط نرم افزار مدیریت فایل شما پنهان نشده است،چون نقطه قبل از نام فایل htaccess. نشان می دهد که یک فایل مخفی است. برای مشاهده همه فایل های مخفی در ریشه سند خود می توانید از گزینه show files hidden در مدیریت فایل خود استفاده کنید. اگر هنوز نتوانستید آن را پیدا کنید، باید یکی را ایجاد کنید.
در نهایت فایل htaccess. را با ویرایشگر متن مورد علاقه خود باز کنید و خط زیر را به انتهای آن اضافه کنید:
php_value max_execution_time 300
بیاد داشته باشید که آن را ذخیره کنید.
نتیجه گیری
در ابتدای مقاله به معرفی دستورالعمل max_execution_time در PHP پرداختیم. در ادامه مقاله نحوه افزایش ارزش max_execution_time در PHP آموزش داده شد. برای تغییر ارزش دستور max_execution_time در PHP از چند روش مختلف معرفی شده در این مقاله می توانید استفاده کنید. امیدوارم این مقاله برایتان مفید بوده باشد.
دیدگاه ها