פתור את השגיאה ש-php מבקשת חריגה מזמן הביצוע המרבי של 30 שניות

הרבהשיווק באינטרנטלמידה מתחילהאתר וורדפרס, דף ה-PHP ריק במשך זמן רב.

לאחר מכן מופיעה הודעת השגיאה הבאה:

Fatal error: Maximum execution time of 30 seconds exceeded in ......

בפשטות, זה אומר שזמן הביצוע של PHP חורג מהמגבלה של 30 שניות.

צ'ן וייליאנגשגיאה זו נתקלה בעבר, ומאמר זה מסכם את שיטת הטיפול בשגיאות זו.

איך לתקן את השגיאה?

בעיקרון, ישנן 3 דרכים לטפל בשגיאה זו:

  1. שנה את קובץ התצורה של php קובץ php.ini
  2. שימוש בפונקציה ini_set()
  3. שימוש בפונקציה set_time_limit().

1) שנה את קובץ התצורה של php קובץ php.ini

מצא את קובץ php.ini ומצא אותו בקובץ הזה:

max_execution_time = 30 ;

בשורה זו, הגדר את המספר 30 לערך הרצוי (בשניות).

ניתן גם לשנות אותו ישירות ל:

max_execution_time = 0; //无限制

שים לב שנדרש אתחול מחדש לאחר השינוילינוקסשרת.

2) השתמש בפונקציה ini_set()

למי שלא יכול לשנות את php.iniמדיה חדשהאנשים, יכולים להשתמש בפונקציה ini_set() כדי לשנות את מגבלת זמן הביצוע המקסימלית.

הוסף את הקוד הבא בראש התוכנית:

ini_set('max_execution_time','100');
  • ההגדרה שלמעלה היא 100 שניות, אתה יכול גם להגדיר אותה ל-0, כלומר לא מוגבל לזמן הביצוע.

3) השתמש בפונקציה set_time_limit()

בראש התוכנית הוסף:

set_time_limit(100);
  • המשמעות היא שזמן הביצוע המרבי מוגדר ל-100 שניות.
  • כמובן שניתן להגדיר את הפרמטר גם ל-0, כלומרללא הגבלה∞.

תיאור הפונקציה set_time_limit:

void set_time_limit ( int $seconds )

מה שהפונקציה הזו עושה זה להגדיר את הזמן (בשניות) שהסקריפט מורשה לפעול.

  • אם חריגה מהגדרה זו, הסקריפט יחזיר שגיאה קטלנית.
  • ברירת המחדל היא 30 שניות, אם הערך הזה קיים, זה הערך המוגדר ב-max_execution_time ב-php.ini.
  • כאשר פונקציה זו נקראת, set_time_limit() יפעיל מחדש את מונה הזמן הקצוב מאפס.

במילים אחרות, אם פסק הזמן מוגדר כברירת מחדל ל-30 שניות, וכאשר הסקריפט פועל במשך 25 שניות, התקשרset_time_limit(20), הסקריפט יכול לרוץ בסך הכל 45 שניות לפני הזמן הקצוב.

זה לא עובד כאשר php פועל במצב בטוח.

ניתן לכבות את מצב בטוח:

  • php.iniהגדר את safe_mode לכבוי ב.
  • או לשנותphp.iniמגבלת זמן ב.

הגדר_זמן_גבול דוגמא

אם מצב בטוח לא מופעל, תוכנית ההתקנה תפעל למשך 25 שניות.

לְמָשָׁל:

<?php
if(!ini_get('safe_mode')){
set_time_limit(25);
}

Hope Chen Weiliang בלוג ( https://www.chenweiliang.com/ ) שיתף את "פתרון השגיאה של זמן ביצוע מקסימלי של 30 שניות חריגה בהנחיית PHP", וזה מועיל לך.

מוזמנים לשתף את הקישור של מאמר זה:https://www.chenweiliang.com/cwl-1481.html

ברוכים הבאים לערוץ הטלגרם של הבלוג של Chen Weiliang כדי לקבל את העדכונים האחרונים!

🔔 היה הראשון לקבל את "מדריך השימוש בכלי AI של ChatGPT Content Marketing" בספרייה העליונה של הערוץ! 🌟
📚 המדריך הזה מכיל ערך עצום, 🌟זו הזדמנות נדירה, אל תפספסו אותה! ⏰⌛💨
שתפו ותעשו לייק אם בא לכם!
השיתוף והלייקים שלך הם המוטיבציה המתמשכת שלנו!

 

发表 评论

כתובת האימייל שלך לא תפורסם. 必填 项 已 用 * תווית

גלול למעלה