חיפוש ]

כיצד לתקן/לבטל מצב תחזוקה תקוע באתרי וורדפרס?

וורדפרס עלולה לעיתים להיתקע במצב תחזוקה, מה שגורם לאתר להיות לא נגיש לגולשים. המסך מציג את ההודעה "Briefly unavailable for scheduled maintenance. Check back in a minute." וזה יכול להיות מתסכל כשאתם לא יודעים מה לעשות.

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

מסך מצב תחזוקה

מה גורם לוורדפרס להיתקע במצב תחזוקה?

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

<?php $upgrading = time(); ?>

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

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

  • סגירת הדפדפן או מעבר לדף אחר במהלך עדכון
  • חריגה מזמן ריצה (timeout) בגלל ערך max_execution_time נמוך מדי ב-PHP
  • מחסור בזיכרון PHP (ערך memory_limit נמוך מדי) לביצוע העדכון
  • התנגשויות עם תוספים או תבניות שגורמים לקריסה במהלך העדכון
  • עדכון מספר תוספים או תבניות במקביל על שרת איטי
  • ניתוק חיבור אינטרנט במהלך העדכון

וורדפרס בודקת את חותמת הזמן ($upgrading) בקובץ .maintenance. אם הקובץ ישן מ-10 דקות, וורדפרס מתעלמת ממנו וטוענת את האתר כרגיל. אם האתר עדיין תקוע אחרי 10 דקות, ייתכן שיש בעיה עמוקה יותר בעדכון עצמו.

כיצד לתקן מצב תחזוקה תקוע בוורדפרס

התיקון פשוט – עליכם למחוק את קובץ .maintenance מתיקיית השורש של וורדפרס. הנה מספר דרכים לעשות זאת:

שיטה 1 – באמצעות FTP

התחברו לאתר באמצעות לקוח FTP (כמו FileZilla) ונווטו לתיקייה הראשית – אותה תיקייה שמכילה את wp-config.php.

מצאו את קובץ .maintenance ומחקו אותו. שימו לב שקבצים שמתחילים בנקודה מוסתרים כברירת מחדל. ב-FileZilla, לחצו על Server > Force showing hidden files כדי לחשוף אותם.

כיצד לתקן מצב תחזוקה תקוע בוורדפרס

שיטה 2 – באמצעות מנהל הקבצים של השרת

היכנסו לפאנל הניהול של שרת האחסון (cPanel, Plesk או דומה) ופתחו את מנהל הקבצים. נווטו לתיקייה הראשית של האתר (public_html או דומה), הפעילו "Show hidden files" במידת הצורך, ומחקו את .maintenance.

שיטה 3 – באמצעות SSH או WP-CLI

אם יש לכם גישת SSH לשרת, זו הדרך המהירה ביותר:

rm /path/to/wordpress/.maintenance

או אם מותקן אצלכם WP-CLI:

wp maintenance-mode deactivate

לאחר מחיקת הקובץ

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

  1. היכנסו לממשק הניהול של וורדפרס ועברו אל Dashboard > Updates
  2. בדקו אם יש עדכונים שנכשלו והריצו אותם מחדש, אחד בכל פעם
  3. נקו את המטמון (Cache) של תוסף הקאשינג שלכם (אם אתם משתמשים באחד)
  4. נקו גם את המטמון של הדפדפן

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

הגדלת Timeout למניעת כשלון בעדכונים

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

define( 'WP_MAX_EXECUTION_TIME', 300 );

כדאי גם לוודא שהגדרות ה-PHP שלכם מתאימות. הוסיפו את הערכים הבאים לקובץ .htaccess או בקשו מחברת האחסון לעדכן:

php_value max_execution_time 300
php_value memory_limit 256M

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

כיצד למנוע מוורדפרס להיתקע במצב תחזוקה

פעלו לפי ההמלצות הבאות כדי למזער את הסיכון:

עדכנו תוספים אחד בכל פעם

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

אל תסגרו את הדפדפן במהלך עדכונים

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

בדקו תאימות תוספים לפני עדכון

לפני שתעדכנו את הליבה של וורדפרס, וודאו שהתוספים והתבנית הפעילים תואמים לגרסה החדשה. ספריית התוספים של וורדפרס מציגה את הגרסה "Tested up to" עבור כל תוסף.

השתמשו בסביבת Staging

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

שמרו על משאבי שרת מתאימים

ודאו שתוכנית האחסון שלכם מספקת לפחות 256MB זיכרון PHP ו-max_execution_time של 300 שניות. אתרים על אחסון משותף בסיסי עם משאבים מוגבלים נוטים יותר לחוות כשלונות עקב חריגה מזמן הריצה.

שאלות נפוצות

שאלות נפוצות על מצב תחזוקה בוורדפרס:

מה זה קובץ .maintenance בוורדפרס?
קובץ .maintenance הוא קובץ זמני שוורדפרס יוצרת בתיקייה הראשית של האתר במהלך עדכונים. הוא מכיל חותמת זמן PHP ($upgrading = time();) שאומרת לוורדפרס להציג את הודעת התחזוקה במקום לטעון את האתר. וורדפרס מוחקת אותו אוטומטית כשהעדכון מסתיים בהצלחה.
האם בטוח למחוק את קובץ .maintenance?
כן, זה בטוח לחלוטין. הקובץ הוא רק סמן שאומר לוורדפרס להציג מסך תחזוקה. מחיקתו לא תשפיע על מסד הנתונים, התוכן, או קבצי האתר. אם העדכון שיצר את הקובץ אכן נכשל, ייתכן שתצטרכו להריץ אותו מחדש דרך Dashboard > Updates.
האם וורדפרס תצא ממצב תחזוקה בעצמה?
וורדפרס בודקת את חותמת הזמן בתוך קובץ .maintenance. אם הקובץ ישן מ-10 דקות, וורדפרס מתעלמת ממנו וטוענת את האתר כרגיל. עם זאת, אם תהליך העדכון רץ בלולאה או ששעון השרת מוגדר לא נכון, ההתאוששות האוטומטית לא תעבוד ותצטרכו למחוק את הקובץ ידנית.
אני לא מוצא את קובץ .maintenance. איפה הוא?
קבצים שמתחילים בנקודה מוסתרים כברירת מחדל ברוב לקוחות ה-FTP ומנהלי הקבצים. עליכם להפעיל "הצג קבצים מוסתרים" בכלי שלכם. ב-FileZilla, לחצו על Server > Force showing hidden files. ב-cPanel File Manager, לחצו על Settings וסמנו "Show Hidden Files". קובץ .maintenance נמצא באותה תיקייה של wp-config.php.
קובץ .maintenance ממשיך להופיע מחדש לאחר שמחקתי אותו. מה לעשות?
זה אומר שעדכון נכשל שוב ושוב, כנראה בגלל התנגשות עם תוסף או מחסור במשאבי שרת. מחקו את הקובץ, ואז מיד שנו את שם התיקייה wp-content/plugins ל-plugins-disabled דרך FTP. היכנסו לוורדפרס, שנו את שם התיקייה חזרה, והפעילו תוספים אחד אחד כדי לזהות את ההתנגשות. בדקו גם את לוג השגיאות של PHP לקבלת הודעות שגיאה ספציפיות.

סיכום

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

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

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

דיון ותגובות
0 תגובות  ]

השאירו תגובה

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

Savvy WordPress Development official logo