البرمجة

زيادة حد الزمن التنفيذ في Yii2: حل مشكلة الخطأ 120 ثانية

في سياق إطار العمل Yii2، يظهر خطأ “Maximum execution time of 120 seconds exceeded” عندما يستغرق البرنامج وقتًا أطول من الحد الأقصى المسموح به لتنفيذ السكربت، والذي هو 120 ثانية بشكل افتراضي. هذا الحد الزمني يتيح لتطبيقات الويب تنفيذ العمليات دون تجاوز الحدود الزمنية المحددة.

لزيادة الحد الزمني للتنفيذ في Yii2، يمكنك تعديل إعداد max_execution_time في ملف التكوين الخاص بالويب. يمكن أن يكون ذلك في ملف php.ini الخاص بك أو في ملف تكوين الخادم إذا كنت تستخدم Apache أو Nginx.

على سبيل المثال، يمكنك تعيين max_execution_time إلى قيمة أكبر مثل 300 ثانية (5 دقائق) لزيادة الحد الزمني لتنفيذ. يمكنك البحث عن الموقع الصحيح لملف php.ini الخاص بك أو استخدام الأمر phpinfo() للعثور على مكان تكوين PHP على الخادم الخاص بك.

يرجى مراعاة أن زيادة الحد الزمني لتنفيذ يأتي مع بعض المخاطر، خاصة إذا كان هناك تنفيذات طويلة تحدث بشكل منتظم، فقد يؤدي ذلك إلى استهلاك موارد الخادم بشكل كبير. لذا يفضل أن تكون حذرًا وتقيم آثار أي تغيير قبل تطبيقه في بيئة الإنتاج.

المزيد من المعلومات

تتعلق مشكلتك برسالة الخطأ “Maximum execution time of 120 seconds exceeded” التي تظهر عند محاولة رفع ملف إكسل يحتوي على 1000 سجل إلى إطار العمل Yii2. يبدو أن الوقت المخصص لتنفيذ السكربت يكون غير كافٍ لمعالجة البيانات بشكل كامل، وبالتالي تحدث تجاوزًا للحد الزمني المسموح به.

لحل هذه المشكلة، يمكنك اتخاذ الإجراءات التالية:

1. تعديل max_execution_time في ملف php.ini:

  • ابحث عن ملف php.ini على خادمك.
  • قم بتحرير القيمة المرتبطة بـ max_execution_time. قم بزيادتها إلى قيمة أكبر، مثل 300 ثانية أو أكثر.

2. تعيين max_execution_time في ملف التكوين الخاص بتطبيق Yii2:

  • قم بفتح ملف config/web.php في مشروع Yii2 الخاص بك.
  • أضف أو قم بتعديل القيمة المرتبطة بـ max_execution_time في قسم الإعدادات.
php
'params' => [ 'max_execution_time' => 300, // زيادة الحد الزمني للتنفيذ إلى 300 ثانية ],

3. تحسين عمليات الرفع:

  • قم بتقسيم عملية الرفع إلى دفعات أصغر إذا كان ذلك ممكنًا.
  • استخدم مكتبات متقدمة مثل PHPExcel لتحسين أداء معالجة ملفات Excel.

4. استخدام الوظائف الخلفية:

  • افكر في تحميل الملفات بشكل غير متزامن باستخدام الوظائف الخلفية، مما يسمح بتنفيذ العمليات بدون تأثير على وقت الاستجابة الأمامي للتطبيق.

يُفضل دائمًا اختبار التغييرات على بيئة التطوير قبل تطبيقها في الإنتاج. وتأكد من متابعة أداء التطبيق بعد التعديلات لضمان أنها لا تسبب أي مشاكل إضافية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر