כיצד לפתור שגיאה קטלנית PHP: גודל זיכרון מותר של 8388608 בתים מותש
ini_set ("זיכרון_לימיט", "16 מ '“);
זה יגדיר את מגבלת הזיכרון שלך ל 16 מגה-בייט, במקום זאתיותר מ 8 מגה בייט. אתה יכול, וצריך, להתעסק במספר זה כך שהוא יהיה נמוך ככל האפשר בלי לחזור על הודעת השגיאה. זה ישנה רק את מגבלת הזיכרון עבור קובץ PHP מסוים.
לחלופין, באפשרותך לשנות את קובץ ה- php.ini כך שיעלה את מגבלת הזיכרון. זה ישפיע על כל הסקריפטים בשרת שלך. פשוט פתח את php.ini ומצא את השורה שקוראת "memory_limit" ושנה אותה:
memory_limit = 16 מיליון
שמתי לב ב- PHP שלי.קובץ ini שברירת המחדל שלי גבוהה בהרבה ב 128M. לכן, אם הייתי מקבל אי פעם את הודעת השגיאה הזו היה קורא: "שגיאה אנושה: גודל זיכרון מותר של 134217728 בתים מותש ..." וכמובן שזו בעיה הרבה יותר גדולה. אבל יש לזה את הדרך לעקיפת הבעיה כמו "שגיאה אנושה: גודל זיכרון מותר של 8388608 בתים מותש ..." או "שגיאה אנושה: גודל זיכרון מותר של 16777216 בתים מותש ..." או כל דבר אחר. ככל הנראה, ברירת המחדל של memory_limit הועלתה מ- 8M ל- 16M ב- PHP 5.2.0 והיא כעת 128M עבור PHP 5.3.0, מה שיסביר מדוע אינך מקבל את הודעת השגיאה הזו בכלל.
באפשרותך להשבית את מגבלת הזיכרון על ידי הגדרת זיכרון_גבלה ל- -1 ב- PHP.ini.
memory_limit = -1
בדרך כלל זה לא רעיון טוב מסיבות ברורות.
הערה: באפשרותך להשתמש גם בשורת memory_limit שבדף ה- Access שלך.
עכשיו, זכרו, זו רק דרך לעקיפת הבעיה. באמת, סקריפט PHP שלך צריך לא להיות מעל 8 מגה-בתים, אלא אם כן העלאת הקבצים שלך אועושה משהו אחר שכנראה לוקח הרבה שימוש בזיכרון. מה שאתה באמת צריך לעשות הוא לנסות להבין מדוע התסריט שלך משתמש בזיכרון כה רב ולנסות לתקן אותו. אחת הדרכים להבין כמה זיכרון משתמש ב- script של PHP היא להשתמש בפונקציית PHP של memory_get_usage (). כל שעליך לעשות הוא להדהד את זה בכל נקודה בסקריפט שלך כדי לגלות היכן השימוש בזיכרון שלך מתגלה:
הד Memory_get_usage ();
אם אתה מקבל הודעת שגיאה זו בדרופל או בג'ומלה, האשם האפשרי הוא מודול או חבילה חדשה. לדוגמה, בדרופל, עמוד הניהול / מודולים נטען כל מודול בהתקנת דרופל שלך, שיכול לקבלשעיר אם מודול מותאם אישית הוא באגי, פגום או פרוץ. נסה להשבית מודולים בזה אחר זה כדי לזהות מי מוריד את המסיבה. כמו כן, חלק מספקי אירוח יתעלמו מהניסיונות שלך לשנות את מגבלות הזיכרון עבור קוד ה- PHP שלך, כך שתצטרך ליצור קשר עם תמיכת האירוח שלך כדי לעזור לך. מצאתי שלפעמים אני צריך לערוך את קובץ ה- php.ini ולפעמים להכניס את הקוד לקובץ .htaccess. כך או כך, יש לקוות, שמידע זה כאן מספיק בכדי לגרום לכם לדרך!
השאר תגובה