חיפוש ]

מה זה שגיאת שרת 500 בוורדפרס וכיצד לפתור אותה? (Server Error)

שגיאת שרת 500 או בלעז 500 Internal Server Error היא לבטח השגיאה המעצבנת ביותר שניתן לקבל באתרי וורדפרס בפרט, ובאתרי אינטרנט בכלל. שגיאה 500 אומרת בגדול כי ״משהו איפשהו השתבש״, מה גם שסביר להניח כי לא יופיע עבורכם שום מידע על מה השתבש כשתחוו שגיאה זו, אלא רק מסך לבן ריק או לחילופין את השגיאה הבאה:

שגיאה 500 באתר וורדפרס - הודעה טיפוסית

שגיאה 500 באתר וורדפרס – הודעה טיפוסית

אז כיצד ניתן לדעת במקרים אלו מה השתבש ואיך לתקן זאת? בואו נראה מה השלבים שיש לעשות בכדי להבין מה גורם לשגיאה זו וכיצד לפתור אותה.

פתרונות מהירים לשגיאת שרת 500

  • השבתת כל התוספים דרך FTP: שנו את שם תיקיית ה plugins בתוך wp-content דרך FTP כדי להשבית תוספים. אם זה פותר את הבעיה, החזירו את שם התיקייה ובדקו כל תוסף בנפרד.
  • שינוי שם תיקיית התבנית הפעילה: שנו את שם תיקיית התבנית הפעילה בתוך wp-content/themes דרך FTP. וורדפרס תעבור לתבנית ברירת מחדל אם קיימת.
  • בדיקה ושינוי שם קובץ .htaccess: שנה את שם הקובץ .htaccess ל-.htaccess_old בתיקייה הראשית של האתר. אם זה עובד לכם, שחזר את הקובץ דרך הגדרות > קישורים קבועים.
  • הפעילו מצב דיבאג לאיתור שגיאות: הוסיפו את השורה define('WP_DEBUG', true); ב-wp-config.php כדי לצפות ביומני שגיאות. כבה את מצב הדיבאג לאחר סיום הבדיקה.
  • הגדלת זיכרון PHP: הוסיפו define('WP_MEMORY_LIMIT', '256M'); ל-wp-config.php או הגדילו את הזכרון דרך לוח הבקרה של האחסון.

בואו נסביר יותר בפירוט כל אחד מהפתרונות שהצגנו כדי לפתור שגיאת שאת 500 ביעילות…

האם אחד התוספים באתר גורם ל Error 500?

אם הרגע התקנתם תוסף חדש או שהאתר שלכם מציג שגיאה 500 לאחר עדכון או שדרוג גרסת הוורדפרס שלכם, אז סביר להניח שהבעיה קשורה לאותו תוסף או לאחד התוספים המותקנים באתר שלכם.

זיהוי התוסף הסורר יהיה מאד פשוט אם הרגע התקנתם תוסף ולאחר מכן קיבלתם את השגיאה. אך כיצד ניתן לבטל את התוסף אם אין לכם גישה לממשק הניהול של וורדפרס? ומה אם כלל אינכם יודעים איזה תוסף גרם לשגיאה המדוברת?

בשני המקרים אתם צריכים גישת FTP, אך מנהל קבצים שקיים ב cPanel או Plesk גם כן יעזור במקרה זה.

אם אתם יודעים איזה תוסף גרם לבעיה פשוט גשו לתיקייה ה wp-content/plugins ומחקו את התוסף. אם אינכם יודעים איזה תוסף גורם לשגיאה פשוט שנה את השם של תיקיית התוספים.

פשוט הוסיפו קו תחתון בתחילתה כבדוגמה הבאה (״plugins_״):

האם תוסף כלשהו בוורדפרס גורם לשגיאה 500?

שינוי שם התיקייה יכבה בפועל את כל התוספים באתר שלכם בבת אחת, כך שבמידה והבעיה היא אכן אחד התוספים תהיה לכם האפשרות לגשת כעת לממשק הניהול של וורדפרס.

במקרה זה תקבלו הערות בוורדפרס בסגנון הבא:

"The plugin something.php has been deactivated due to an error: Plugin file does not exist."

אך אל דאגה, ההגדרות של כל אותם תוספים שמורות במסד הנתונים והרוב המוחלט של התוספים יימצאו אלו שוב לאחר הפעלת התוספים מחדש.

השלב הבא הוא לשנות את שם התיקייה שוב לשמה המקורי על ידי הסרת אותו קו תחתון, ולאחר מכן עליכם להפעיל את התוספים אחד אחד עד שתמצאו את התוסף הבעייתי. כעת כשהאתר שוב מציג שגיאה 500, חזרו על כל התהליך אך הפעם אל תפעילו את התוסף הסורר.

האם אותה שגיאה 500 נגרמת בגלל בעיה בתבנית?

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

תיקיית התבניות נקראית themes ונמצאת בתיקיית wp-content.

שגיאה 500 בעקבות בעיה בתבנית האקטיבית

אם בשלב זה אתם עדיין חווים שגיאה 500 ואינכם יכולים לגשת לממשק הניהול של וורדפרס, עליכם להמשיך לשלבים הבאים. אם הבעיה נפתרה והצלחתם לגשת לממשק הניהול, ז״א אומרת שהבעיה הייתה באותה תבנית בה אתם משתמשים.

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

בכדי לתקן את הבעיה בעצמכם או בכדי לספק מידע נוסף למפתח התבנית, תנו מבט בסקשיין בהמשך הפוסט המדבר על הפעלת מצב Debug בוורדפרס.

האם ישנה בעיה בקובץ htaccess שגורמת לשגיאת שרת 500?

אם כיבוי התוספים והתבנית לא פתר את הבעיה, סביר להניח שהבעיה היא בקובץ .htaccess – קובץ זה הוא בדרך כלל הבעיה כשאתם מצליחים לגשת לממשק הניהול אך לא מצליחים לגשת לאתר עצמו.

הקובץ htaccess. מנהל (בין היתר) את ההמרה של permalinks לכתובות הסטנדרטיות של וורדפרס.

בכדי לבדוק אם קובץ זה הוא הבעיה, גשו באמצעות FTP לתיקייה הראשית בה וורדפרס מותקנת ושנו את שם הקובץ ל htaccess_old. אם אינכם רואים את הקובץ בתיקייה זה עליכם להאפשר הצגה של קבצים מוסתרים (hidden files), והדרך לעשות זאת היא שונה בין תוכנות ה FTP השונות.

לאחר ששיניתם את שם הקובץ גשו בממשק הניהול של וורדפרס להגדרות > קישורים ולחצו על שמירה בלי לבצע שום שינוי בהגדרות.

האם נגמר הזכרון באתר שלכם?

בשרתים שיתופיים, ייתכן ותגיעו למצב בו אין מספיק זכרון עבור האתר שלכם (PHP Memory Limit). אתרי ווקומרס, פורומים, או אף תוספים מסויימים יכולים לזלול זכרון מפאת המורכבות שלהם.

במקרה זה, אך לא תמיד, תקבלו הודעה בסגנון הבא:

"Fatal Error: Allowed memory size of xxx bytes exhausted".

תוכלו לתקן בעיה זו על ידי הוספת השורה הבאה לקובץ wp-config.php אותו הזכרנו קודם לכן:

define('WP_MEMORY_LIMIT', '256M');

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

אם אתם משתמשים באלמנטור המינימום שנדרש עבור תוסף זה הוא 256M. ההמלצה היא 512M (רק עבור התוסף הזה וללא קשר לזכרון שנדרש מתוספים אחרים באתר). כמו כן, בד״כ באתרים המשתמשים בתוספים רבים יחד עם אלמנטור נדרש לשנות את מגבלת הזכרון ל 768M.

נסו למצוא את הבעיה על ידי הפעלת מצב דיבאג (Debug Mode)

אתם יכולים לאפשר את אותו מצב Debug בקובץ הקונפיגורציה של וורדפרס (wp-config.php). במצב Debug ייתכן ותקבלו רמז לגבי גורם הבעיה, אך בנקודה זו יהיה עליכם להבין בעצמכם כיצד למצוא ולתקן את הבעיה, וכנראה שהתהליך ידרוש מכם יכולות תכנות.

הקובץ wp-config.php נמצא בתיקייה הראשית בה וורדפרס מותקנת.

בכדי לאפשר מצב Debug ערכו את הקובץ וחפשו את השורה הבאה:

define( 'WP_DEBUG', false );

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

אם אתם מעוניינים לשמור את הודעות השגיאה לעצמכם, הוסיפו לאחר אותה שורה את השורות הבאות:

define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

במצב זה השגיאות יכתבו בקובץ log הנמצא בתוך תיקיית wp-content ושמו error.log.

הפעלת מצב Debug והצגת שגיאות PHP בוורדפרס

אם אתם מרעננים את רשימת הקבצים בתוכנת ה FTP בה אתם משתמשים ואינכם רואים קובץ זה לאחר זמן קצר, ייתכן ולוורדפרס אין הרשאות ליצור את הקובץ הזה.  במקרה זה עליכם ליצור קובץ זה בעצמכם ולתת לו הרשאות 666.

בקובץ ה log עליכם לחפש שורה המכילה את הביטוי PHP Error ולפי זה לנסות ולהבין איזה קובץ גורם לבעיה.

שימו לב שעליכם לחפש PHP Error כפי שציינו ולא PHP Notice.

שימו לב! קובץ זה יגדל ויגדל במשקל שלו מכיוון וכל הערה ושגיאה נכתבת אליו במצב זה. וודאו שאתם מסירים את השורות המדוברות מקובץ wp-config.php לאחר שסיימתם את תהליך ה Debugging.

שגיאה – 500 Server Error בעקבות הגדרות לא נכונות של השרת

אם אתם מריצים שרת עצמאי משלכם (VPS) ושיניתם משהו בהגדרות השרת, או אם למשל התקנתם extension כלשהו בשרת, ייתכן וזה הגורם לאותן שגיאות 500 באתר.

Internal Server Error יכולות להתרחש מקומבינציה של הגדרות בשרת שאינן תואמות. אם אתם משתמשים בשרת מנוהל כלשהו כנראה וזו אינה הבעיה, אך אם אתם אחראים על השרת והגדרותיו באחריותכם לבדוק שהכל תקין ואין בעיות תאימות כאלו ואחרות.

לסיכום

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

שיהיה בהצלחה ושאלות יתקבלו בברכה… 🙂

 

רועי יוסף
רועי יוסף

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

0 תגובות...

תגובה חדשה

הוסיפו קוד באמצעות הכפתורים מטה. למשל, בכדי להוסיף PHP לחצו על הכפתור PHP והוסיפו את הקוד בתוך השורטקוד. מצאתם שגיאה בפוסט? עדכנו אותנו...