תקלות נפוצות בוורדפרס – מדוע הן מופיעות וכיצד נתמודד איתן?
בבניית אתר וורדפרס אנו עלולים להיתקל בתלקות והודעות שגיאה כאלה ואחרות.
במדריך זה אסקור מספר תקלות ושגיאות נפוצות ואת דרך ההתמודדות איתן.
לפני שנתחיל, חשוב לי לומר כי לפני ניסיון פיתרון של כל תקלה, אני ממליץ לכם לגבות את אתרכם באופן מלא.
כדרך עבודה נכונה, גיבויים באופן תדיר הוא דבר חשוב מאין כמותו.
שנתחיל?
קודם לכל, ברגע שהאתר שלנו לא מופיע כראוי, עלינו לאפשר את הצגתן של השגיאות, רצוי כמובן לא בסביבת הלייב.
על מנת לומר לוורדפרס להציג את השגיאות, נכניס את 2 השורות הבאות לקובץ ה-wp-config.php שלנו:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
מסך לבן
בחרתי להתחיל עם אחת השגיאות הנפוצות והמרגיזות ביותר – מסך לבן לחלוטין, בלי רמז כלשהו, בלי טיפת טקסט שיכול לרמוז לנו על השגיאה, כלום.
אל דאגה, בדרך כלל מקור הבעיה הוא תוסף כלשהו או קובץ כלשהו בתבנית שלנו.
תבנית?
בתור התחלה, על ידי חיבור FTP או SSH לשרת, נגיע אל הנתיב של תיקיית ה-themes ונשנה את שמה של התבנית שבה אנו משתמשים.
מיד לאחר מכן נסו לרענן את העמוד, האתר עולה? ברכות, חצי הדרך מאחוריכם.
כעת עליכם לבדוק את הקובץ הבעייתי, נסו לשנות שמות של קבצים ותיקיות עד למציאת הקובץ הבעייתי.
בדרך כלל השגיאה תופיע לאחר שינוי כלשהו בקוד התבנית.
תוסף
האמת שהאסטרטגיה זהה גם במקרה זה.
יש לגשת אל נתיב תיקיית ה-plugins בשרת ולשנות את שמה (plugin-old למשל).
האתר עולה? עכשיו נשאר לעשות זאת לתיקייה של כל תוסף.
ברגע שמצאתם את התוסף הבעייתי, נסו לשנות את שמה של תיקיית התוסף המותקן ולהתקין גרסא מעודכנת שלו, ייתכן כי בעיית תאימות גרמה לבעיה.
הגבלת זיכרון
עמוד לבן ומשפט שמבשר רעות: Fatal error: Allowed memory size of xxxxxx bytes exhausted…".
שגיאה זו מודיעה לנו כי פעולה כלשהי, ברוב הפעמים המוחלט בקובץ של תוסף כשהו – עברה את מגבלת הזיכרון של השרת.
במידה ויש ברשותינו גישה לקובץ ה-php.ini שבשרת, נעדכן את הערך של הנתון memory_limit לערך גדול יותר:
memory_limit = 64M;
שימו לב כי פעולה זו תגדיל את הזיכרון לכל השרת.
במידה ואין ברשותכם גישה (אל תרגישו מוזנחים, מנהלי השרתים לא נוהגים לתת גישה לקובץ זה), יש לפתוח את קובץ ה-wp-config.php ולהגדיל את הזיכרון באופן ספציפי לפרויקט הנוכחי באמצעות השורה הבאה:
define('WP_MEMORY_LIMIT', '64M');
בעיית התחברות למסד נתונים
ללא מסד נתונים, אין חגיגה.
אז מה עושים שאנו מקבלים את השגיאה המוכרת "Unable to Establish a Database Connection"?
בסבירות גבוהה מאוד, פרטי ההתחברות למסד הנתונים אשר קיימים בקובץ wp-config.php לא נכונים.
יש להתחבר לשרת דרך FTP, לפתוח את הקובץ ולבדוק את פרטי ההתחברות.
את הפרטים הנכונים (מלבד הסיסמא עצמה בדרך כלל) ניתן למצוא במסך הניהול של השרת שלכם (DirectAdmin, Cpanel, Plesk וכו').
כל הפרטים נכונים? בדקו שוב בבקשה, כבר אמרתי שסבירות גבוהה מאוד שזו הבעיה? 🙂
אז אחרי בדיקה כפולה, נעבור לפיתרון הבא. ייתכן כי מסד הנתונים שלכם דורש תיקון כלשהו, נסו להיכנס לפנאל הניהול ולחפש הודעה המתריאה בפניכם כי הנכם זקוקים לבצע עדכון של מסד הנתונים. אם היא קיימת, צרו גיבוי של האתר הנוכחי (כן, אפילו עם הבעיה!) והריצו תיקון.
במידה וגם פיתרון זה לא החזיר את מסד נתונים לחיים, צרו קשר עם התמיכה של האיחסון שלכם, חוסר במשאבים או תקלה נקודתית היא כנראה הבעיה.
להינעל מחוץ לאתר של עצמך….
כן, זה מביך, אבל זה יכול לקרות לכולנו.
יש לזכור שתמיד קיים החשש כי מישהו פרץ לאתרנו ושינה את הסיסמא.
אל דאגה, 2 פתרונות לפניכם.
שינוי הסיסמא דרך phpMyAdmin
ניכנס אל מסד הנתונים דרך phpMyAdmin, נחפש את טבלת "users" (בדרך כלל נקראית wp_users) ונחפש את שם המשתמש שלנו.
ניכנס לעריכת השורה, בשדה "user_pass", ב-functions נבחר ב-MD5, וב-value נזין את הסיסמא שנרצה (סיסמא חזקה כן?)
נשמור ונוכל לגשת אל ניהול האתר.
הוספת מנהל חדש
נוכל להוסיף משתמש חדש למערכת על ידי הכנסת הפונקציה הבאה לקובץ functions.php שבתיקיית התבנית שלנו:
function add_new_user() {
$user = 'YourUserNameHere';
$pass = 'YourPasswordHere';
$email = 'YourEmailHere';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
}
}
add_action('init','add_new_user');
כמובן שאין לשכוח לשנות את הפרטים הרצויים (המשתנים email, user ו-pass).
זהו, הבעיה נפתרה, יש לכם משתמש חדש בדרגת "מנהל" 🙂
*שימו לב, יש למחוק את הפונקציה מיד לאחר שהמתמש נוסף!
החיבור נותק
סביר להניח כי השגיאה "The connection has timed out" מוכרת לכם.
מקור שגיאה זו יכול להיות אחד מהבאים:
פעולת תוסף
פעולת פלגין שהתארכה יותר מדי. בדרך כלל פלגינים שמבצעים תהליכים מורכבים וארוכים.
לאחר מציאת התוסף הבעייתי (כפי שהוסבר לעיל), יש לבדוק שהפעולה הזו תקינה וכך התוסף אמור לפעול. במידה והכל תקין מבחינת התוסף, נסו להגדיל את הזיכרון כפי שהוסבר לעיל.
קובץ תבנית
קובץ בתבנית מבצע פעולה ארוכה מדי, בדרך כלל, שלא לצורך.
אם ערכתם שינויים בקוד התבנית לאחרונה, שחזרו אותם ובדקו, בדרך כלל קוד שנכתב בצורה לא נכונה, כדוגמת לולאה אינסופית (נפוץ) ייגרמו לחיבור להתנתק.
ברמת השרת
תקלה נקודתית בשרת או משאבים לא מספקים. יש ליצור קשר עם תמיכת האיחסון שלכם.
גישה נדחתה
במידה והגישה לעמוד או איזור אתר נדחתה, נקבל בדרך כלל את השגיאה "403 Forbidden Error".
גישה שנדחתה יכולה לנבוע ממספר סיבות:
htaccess
קובץ htaccess פגום/נכתב בצורה שגויה יכול לגרום לחסימת הגישה לתיקיות השרת באופן גורף.
בשלב זה, יש ליצור עותק של קובץ ה-htaccess (פשוט לשנות את שמו ל-htaccess-old) וליצור קובץ חדש, עם הגדרות ברירת מחדל ולבדוק האם זו הבעיה.
הרשאות
בעיית הרשאות בשרת תגרום לבעיות גישה לאתר.
רוב תיקיות הוורדפרס אמורות לקבל הרשאה מספר 755.
יש להיכנס לשרת (FTP/SSH) ולבדוק זאת.
פעולת תוסף
כן, זה חוזר על עצמו אבל תוספים עלולים לגרום לבעיות רבות.
פעולת פלגין עלולה לחסום את הגישה שלנו לאתר כולו.
נסו לשנות את שמה של תיקיית ה-plugins ולנסות לגשת לאתר, במידה והצלחתם, בהצלחה, נשאר רק למצוא את הבעייתי מבין כולם 🙂
לסיום, אני רוצה להזכיר כי בתאריך ה-13/09 אעביר הרצאה בנושא "האצת תהליכי פיתוח" בכנס Press4Word 2017 אשר יערך ב-"LAGO" בראשון לציון.
פרטים על הכנס וקופון הנחכה שווה במיוחד מחכים לכם כאן.
נהנת ממאמר זה? הירשם לרשימת התפוצה וקבל עדכונים על מאמרים חדשים!
רק רגע! :)
כשאני לא כותב פוסטים ב-CodeBrain אני מספק שרותי פיתוח, ייעוץ והדרכה.
אם נראה לך שאני האיש המתאים עבורך, כדאי שנדבר :)