קובץ wp-config.php בוורדפרס: מה הוא עושה ואיך לערוך אותו
קובץ wp-config.php שומר את פרטי מסד הנתונים, מפתחות האבטחה והגדרות האתר בוורדפרס. כאן תראו איפה הוא נמצא, מה עושה כל חלק ואיך לערוך אותו בבטחה.
wp-config.php הוא הקובץ שאומר לוורדפרס איך להתחבר למסד הנתונים שלה ואיך לפעול. בדרך כלל הוא נמצא בתיקיית השורש של ההתקנה, ליד wp-admin ו-wp-content. אפשר להוסיף או לשנות הגדרות בבטחה מעל השורה “That’s all, stop editing!” (“זה הכול, הפסיקו לערוך!”), ואת שני קטעי הקוד שמתחתיה כדאי להשאיר כמו שהם. שמרו גיבוי לפני העריכה, כי שגיאת הקלדה אחת יכולה להפיל את כל האתר.
עיקרי הדברים
- הקובץ שומר את סיסמת מסד הנתונים ואת מפתחות האבטחה, אז התייחסו אליו כמו לסיסמה ולעולם אל תפרסמו את התוכן שלו בפורום או בצ’אט תמיכה.
- הגדרות מותאמות אישית נכנסות מעל שורת “stop editing”. השורה האחרונה שמתחתיה טוענת את וורדפרס, והגדרה שאחריה מגיעה מאוחר מדי.
- חבילת ההורדה של וורדפרס כוללת את
wp-config-sample.php. הקובץ האמיתיwp-config.phpנוצר בזמן ההתקנה.- אל תשנו את
$table_prefixבאתר פעיל על ידי עריכת השורה הזו בלבד. וורדפרס תתנהג כאילו היא לא מותקנת.
איפה למצוא את wp-config.php
התחברו דרך SFTP או פתחו את מנהל הקבצים של חברת האחסון, ואז עברו לתיקייה שמכילה את wp-admin, wp-includes ו-wp-content. התיעוד של וורדפרס קורא לה השורש של ספריית הקבצים של וורדפרס.
אם הקובץ לא שם, חפשו תיקייה אחת למעלה. טוען הקבצים של וורדפרס בודק קודם את תיקיית ההתקנה ואז את תיקיית האב, והוא מדלג על תיקיית האב אם יש בה wp-settings.php משלה, כי זה אומר שיושבת שם התקנת וורדפרס אחרת.
אם הקובץ לא נמצא באף אחד מהמקומות, וורדפרס שולחת את המבקרים למסך ההתקנה. המסך הזה בונה את הקובץ מתוך wp-config-sample.php. כשהוא לא יכול לכתוב לתיקייה, הוא מציג את הטקסט להדבקה ידנית בקובץ חדש.
מה עושה כל חלק ברירת מחדל
wp-config-sample.php הוא התבנית, ואלה החלקים שלה לפי הסדר:
| חלק | מה הוא שומר | אפשר לשנות? |
|---|---|---|
DB_NAME, DB_USER, DB_PASSWORD, DB_HOST | פרטי ההתחברות למסד הנתונים. בדוגמה השרת הוא localhost, וחברת האחסון יכולה לתת לכם את הערכים האמיתיים. | כן, כשפרטי מסד הנתונים משתנים. ערך שגוי גורם לשגיאה בחיבור למסד הנתונים. |
DB_CHARSET, DB_COLLATE | איך טקסט נשמר במסד הנתונים. ברירות המחדל הן utf8mb4 וערך ריק. | ההערה בקובץ הדוגמה על DB_COLLATE אומרת לא לשנות אותו אם יש ספק. |
AUTH_KEY עד NONCE_SALT | שמונה מפתחות אבטחה ומלחים שמשמשים לעוגיות התחברות. | כן. שינוי שלהם מנתק את כל המשתמשים. |
$table_prefix | הטקסט בתחילת שם כל טבלה במסד הנתונים, wp_ כברירת מחדל. | רק בזמן ההתקנה, אלא אם משנים גם את שמות הטבלאות ומעדכנים רשומות שמורות במסד הנתונים ששמותיהן כוללים את הקידומת. |
WP_DEBUG | מצב ניפוי שגיאות, מוגדר ל-false בקובץ הדוגמה. | כן. המדריך למיקום יומן הדיבוג מסביר איך לשלוח שגיאות לקובץ. |
| ההערה “custom values” (“ערכים מותאמים אישית”) | מקום ריק להגדרות שלכם, שמסתיים בשורת “stop editing”. | כן, לכאן נכנסות התוספות שלכם. |
ABSPATH והשורה של wp-settings.php | הנתיב לוורדפרס, ואחריו השורה שטוענת את כל השאר. | לא. השאירו אותן כמו שהן. |
מפתחות חדשים נמצאים במרחק קליק: שירות המפתחות הסודיים של WordPress.org נותן סט חדש בכל טעינה. החליפו את כל שמונה השורות בסט החדש.
בקבצים ישנים ייתכן שאין את ההערה “custom values”, וכתוב בהם “Happy blogging” במקום “Happy publishing”. שתי הגרסאות עובדות, והכלל לא משתנה: הוסיפו את ההגדרות שלכם מעל השורה הזו.
הגדרות שאנשים משנים לעיתים קרובות
כל אחת מאלה היא שורה אחת. כולן מגיעות מהתיעוד של wp-config.php, וברירות המחדל מגיעות מהקובץ default-constants.php של וורדפרס.
// Memory for the front end, then for wp-admin
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
// Keep at most 3 revisions per post (false turns revisions off)
define( 'WP_POST_REVISIONS', 3 );
// Autosave every 180 seconds
define( 'AUTOSAVE_INTERVAL', 180 );
// Empty the trash after 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
// Remove the theme and plugin file editor from wp-admin
define( 'DISALLOW_FILE_EDIT', true );
// Force HTTPS for logins and wp-admin
define( 'FORCE_SSL_ADMIN', true );
// Set the site addresses here
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
העתיקו רק את השורות שאתם צריכים. בכמה מהן יש פרטים שכדאי להכיר:
- זיכרון: ברירת המחדל של וורדפרס היא 40M, או 64M ברשת מרובת אתרים, ו-256M עבור wp-admin אלא אם PHP כבר מאפשר יותר. אם חברת האחסון לא מאפשרת לשנות את המגבלה, וורדפרס משתמשת במגבלה שכבר קיימת ב-PHP. המדריך לשגיאת זיכרון שאזל מסביר מה לעשות כשזה קורה.
- גרסאות: הן פעילות כברירת מחדל. הגדירו
falseכדי לכבות אותן, או מספר כדי להגביל אותן. - שמירה אוטומטית ופח אשפה: ברירות המחדל הן 60 שניות ו-30 יום. הגדרת
EMPTY_TRASH_DAYSל-0מכבה את פח האשפה, והתיעוד מזהיר שאז וורדפרס לא תבקש אישור כשמישהו לוחץ על “Delete Permanently” (“מחיקה לצמיתות”). - עורך הקבצים: מדריך ההקשחה אומר שזה לא יעצור תוקף מלהעלות קבצים זדוניים, אם כי ייתכן שזה יעצור חלק מההתקפות.
DISALLOW_FILE_MODSהולך רחוק יותר וחוסם גם התקנה ועדכון של תוספים ותבניות. - HTTPS: כשההגדרה “כתובת וורדפרס” כבר מתחילה ב-
https, וורדפרס מגדירה אתFORCE_SSL_ADMINל-trueבעצמה. השורה הזו משנה משהו רק כשהכתובת לא מתחילה ב-https. - כתובות האתר: הן גוברות על הערכים השמורים בלי לשנות את מה שנשמר במסד הנתונים. כללו את החלק
https://.
הגדרה אחת דורשת יותר תכנון. define( 'DISABLE_WP_CRON', true ); מונע מביקורים בדפים להפעיל משימות מתוזמנות, אז הגדירו משימת cron בשרת עבור wp-cron.php לפני שאתם מפעילים אותה, אחרת פוסטים מתוזמנים ומשימות מתוזמנות אחרות לא ירוצו.
איך לערוך את wp-config.php בבטחה
- הורידו קודם עותק. שמרו אותו במחשב שלכם. עותק שנשאר בשרת בשם כמו
wp-config.php.bakעלול להיות קריא בדפדפן, כי השרת כבר לא מתייחס אליו כאל PHP. - פתחו את הקובץ בעורך טקסט פשוט. מדריך העריכה של וורדפרס מציין את Notepad++, Sublime Text ו-Visual Studio Code כמתאימים, ומזהיר מפני Google Docs ו-Microsoft Word, כי מעבדי תמלילים משנים מירכאות ויכולים להוסיף קוד ששובר קבצים.
- מצאו את שורת “stop editing” והוסיפו את השורות החדשות ישירות מעליה. אם ההגדרה כבר מוגדרת למעלה יותר, שנו את השורה הקיימת.
- שמרו והעלו, ואז טענו את האתר בחלון גלישה פרטית, יחד עם דף אחד ב-wp-admin.
- אם משהו נשבר, החזירו את העותק. זה מבטל את העריכה גם כש-wp-admin לא נטען.
העברת הקובץ אל מעל שורש האתר
מדריך ההקשחה אומר שאפשר לשמור את wp-config.php תיקייה אחת מעל התקנת וורדפרס, וקוד הטעינה מטפל בזה בלי הגדרות נוספות. העבירו את הקובץ, ואז בדקו שהאתר עדיין נטען. להעברה יש שתי מגבלות:
- בתיקיית האב לא יכולה להיות התקנת וורדפרס נוספת. הטוען מתעלם מתיקיית אב שיש בה
wp-settings.phpמשלה. - רמה אחת למעלה היא פרטית רק אם וורדפרס יושבת בשורש האתר. אם וורדפרס נמצאת בתיקיית משנה כמו
/blog/, רמה אחת למעלה בדרך כלל עדיין ציבורית.
אותו מדריך אומר שיש הטוענים שלהעברה יש יתרונות אבטחה מינימליים, ושהיא עלולה ליצור פרצות חמורות אם עושים אותה ברשלנות. לכן התייחסו אליה כאל אפשרות בלבד. ב-Apache, המדריך נותן גם את הבלוק הבא לראש קובץ .htaccess, שחוסם בקשות ישירות לקובץ:
<Files "wp-config.php">
Require all denied
</Files>
מדריך האבטחה שלנו ל-.htaccess מסביר את הכלל הזה לצד כללים אחרים.
הרשאות קבצים ל-wp-config.php
התיעוד של וורדפרס נותן מספרים מעט שונים, לפי המצב:
- מדריך ההקשחה אומר שרק אתם ושרת האינטרנט צריכים להיות מסוגלים לקרוא את הקובץ, ולדבריו זה בדרך כלל אומר 400 או 440.
- מדריך הרשאות הקבצים אומר 440 או 400 באחסון משותף עם suexec, כדי למנוע ממשתמשים אחרים בשרת לקרוא אותו. הוא גם מציג 600 כדוגמה מאובטחת.
- עבור קובצי וורדפרס רגילים, אותו מדריך אומר 644 או 640.
המספר שיעבוד תלוי במשתמש המערכת שבו רץ שרת האינטרנט. השרת חייב להיות מסוגל לקרוא את הקובץ, אז אם האתר מפסיק להיטען אחרי שינוי, חזרו לערך הקודם ושאלו את חברת האחסון איזה ערך מתאים להגדרות שלה.
טעויות נפוצות
- הדבקת הגדרה אחרי שורת
wp-settings.php. השורה הזו טוענת את וורדפרס וקובעת את ברירות המחדל שלה. קבוע ב-PHP לא יכול להשתנות במהלך ריצת הסקריפט, ולכן לשורה שלכם אין השפעה. - הגדרת אותה הגדרה פעמיים. השורה הראשונה קובעת את הערך והשנייה לא יכולה לשנות אותו. לפי המדריך של PHP, הצהרה חוזרת על קבוע מוגדרת כמיושנת החל מ-PHP 8.5, ולכן היא עלולה גם להציג הודעה. חפשו את השם בקובץ לפני שאתם מוסיפים אותו.
- מירכאות סביב true או false.
'false'היא מחרוזת לא ריקה, ו-PHP מתייחס אליה כאל true. כתבוfalseבלי מירכאות. גדלים כמו'256M'כן צריכים אותן. - מירכאות מעוגלות ממעבד תמלילים או מדף אינטרנט. PHP צריך מירכאות ישרות, ומירכאות מעוגלות גורמות לשגיאה שמונעת מהאתר להיטען.
- הצגת שגיאות דיבוג באתר פעיל. ברירת המחדל של
WP_DEBUG_DISPLAYהיאtrue, כך שאם מפעילים רק אתWP_DEBUG, השגיאות מופיעות בדף לעיני המבקרים. המדריך למיקום יומן הדיבוג מראה איך לשלוח אותן לקובץ. - השארת
WP_ALLOW_REPAIRפעיל. התיעוד אומר להפעיל אותו רק כשצריך ולכבות אותו אחרי שהבעיה נפתרה.
שאלות נפוצות
מהו wp-config.php בוורדפרס?
זה קובץ התצורה שוורדפרס טוענת בהפעלה. הוא שומר את פרטי ההתחברות למסד הנתונים, את מפתחות האבטחה ואת קידומת הטבלאות, ובו מוסיפים הגדרות כמו WP_DEBUG או WP_MEMORY_LIMIT.
איפה נמצא הקובץ wp-config.php?
בדרך כלל בתיקיית השורש של התקנת וורדפרס, התיקייה שמכילה גם את wp-admin, wp-includes ו-wp-content. וורדפרס מקבלת אותו גם תיקייה אחת מעל ההתקנה, כל עוד אין באותה תיקייה wp-settings.php.
איפה מוסיפים קוד ב-wp-config.php? מעל השורה That’s all, stop editing! Happy publishing. (“זה הכול, הפסיקו לערוך! פרסום מהנה”). בקבצים ישנים כתוב Happy blogging. השורה האחרונה שמתחתיה טוענת את וורדפרס, ולכן הגדרה שמוצבת אחרי אותה שורה מגיעה מאוחר מדי.
האם בטוח לערוך את wp-config.php? כן, אם שומרים גיבוי ומשתמשים בעורך טקסט פשוט. שגיאת הקלדה אחת עלולה למנוע מכל האתר להיטען, כולל wp-admin, ולכן הורידו קודם עותק. אם האתר נשבר אחרי העריכה, החזירו את העותק.
מה קורה אם מוחקים את wp-config.php? וורדפרס כבר לא מוצאת את פרטי ההתחברות למסד הנתונים ומתחילה את תהליך ההתקנה, עם בקשה ליצור קובץ תצורה. התוכן נשאר במסד הנתונים, כך ששחזור הגיבוי או יצירת הקובץ מחדש עם אותם פרטים מחברים את האתר בחזרה.
אילו הרשאות צריכות להיות ל-wp-config.php? מדריך ההקשחה של וורדפרס אומר שרק אתם ושרת האינטרנט צריכים להיות מסוגלים לקרוא אותו, ובדרך כלל זה אומר 400 או 440. מדריך הרשאות הקבצים שלה מציג גם 600. שרת האינטרנט עדיין חייב לקרוא את הקובץ, אז אם האתר מפסיק להיטען, בדקו מול חברת האחסון.
מקורות
- WordPress Advanced Administration: wp-config.php, Hardening WordPress, File permissions, Editing files
- קוד המקור של וורדפרס: wp-config-sample.php, wp-load.php, default-constants.php, setup-config.php, cron.php
- מדריך PHP: Constants, Booleans
בנו את ההגדרות שאתם צריכים בלי להקליד אותן ידנית, כולל מפתחות אבטחה חדשים, בעזרת מחולל wp-config.php החינמי.
FAQ
שאלות
מהו wp-config.php בוורדפרס?
זה קובץ התצורה שוורדפרס טוענת בהפעלה. הוא שומר את פרטי ההתחברות למסד הנתונים, את מפתחות האבטחה ואת קידומת הטבלאות, ובו מוסיפים הגדרות כמו WP_DEBUG או WP_MEMORY_LIMIT.
איפה נמצא הקובץ wp-config.php?
בדרך כלל בתיקיית השורש של התקנת וורדפרס, התיקייה שמכילה גם את wp-admin, wp-includes ו-wp-content. וורדפרס מקבלת אותו גם תיקייה אחת מעל ההתקנה, כל עוד אין באותה תיקייה wp-settings.php.
איפה מוסיפים קוד ב-wp-config.php?
מעל השורה That's all, stop editing! Happy publishing. ("זה הכול, הפסיקו לערוך! פרסום מהנה"). בקבצים ישנים כתוב Happy blogging. השורה האחרונה שמתחתיה טוענת את וורדפרס, ולכן הגדרה שמוצבת אחרי אותה שורה מגיעה מאוחר מדי.
האם בטוח לערוך את wp-config.php?
כן, אם שומרים גיבוי ומשתמשים בעורך טקסט פשוט. שגיאת הקלדה אחת עלולה למנוע מכל האתר להיטען, כולל wp-admin, ולכן הורידו קודם עותק. אם האתר נשבר אחרי העריכה, החזירו את העותק.
מה קורה אם מוחקים את wp-config.php?
וורדפרס כבר לא מוצאת את פרטי ההתחברות למסד הנתונים ומתחילה את תהליך ההתקנה, עם בקשה ליצור קובץ תצורה. התוכן נשאר במסד הנתונים, כך ששחזור הגיבוי או יצירת הקובץ מחדש עם אותם פרטים מחברים את האתר בחזרה.
אילו הרשאות צריכות להיות ל-wp-config.php?
מדריך ההקשחה של וורדפרס אומר שרק אתם ושרת האינטרנט צריכים להיות מסוגלים לקרוא אותו, ובדרך כלל זה אומר 400 או 440. מדריך הרשאות הקבצים שלה מציג גם 600. שרת האינטרנט עדיין חייב לקרוא את הקובץ, אז אם האתר מפסיק להיטען, בדקו מול חברת האחסון.