Μετάβαση στο περιεχόμενο
Διαμόρφωση

Αρχείο wp-config.php στο WordPress: ρόλος και ασφαλής αλλαγή

Το wp-config.php έχει τα στοιχεία της βάσης δεδομένων, κλειδιά ασφαλείας και ρυθμίσεις. Δείτε πού είναι, τι κάνει κάθε μέρος και πώς το αλλάζετε με ασφάλεια.

Δημοσιεύτηκε

Το wp-config.php είναι το αρχείο που λέει στο WordPress πώς να συνδεθεί στη βάση δεδομένων και πώς να λειτουργεί. Κανονικά βρίσκεται στον ριζικό φάκελο της εγκατάστασης, δίπλα στα wp-admin και wp-content. Μπορείτε με ασφάλεια να προσθέσετε ή να αλλάξετε ρυθμίσεις πάνω από τη γραμμή “That’s all, stop editing!” (Αυτά ήταν, σταματήστε την επεξεργασία!), ενώ τα δύο μπλοκ κώδικα κάτω από αυτή πρέπει να μείνουν ως έχουν. Κρατήστε πρώτα αντίγραφο ασφαλείας, γιατί ένα μόνο τυπογραφικό λάθος μπορεί να ρίξει όλο τον ιστότοπο.

Βασικά σημεία

  • Το αρχείο περιέχει τον κωδικό της βάσης δεδομένων και τα κλειδιά ασφαλείας, οπότε χειριστείτε το σαν κωδικό πρόσβασης και μην δημοσιεύετε ποτέ το περιεχόμενό του σε φόρουμ ή συνομιλία υποστήριξης.
  • Οι δικές σας ρυθμίσεις μπαίνουν πάνω από τη γραμμή “stop editing”. Η τελευταία γραμμή κάτω από αυτή φορτώνει το WordPress, και μια ρύθμιση μετά από εκείνη έρχεται πολύ αργά.
  • Η λήψη του WordPress περιλαμβάνει το wp-config-sample.php. Το πραγματικό wp-config.php δημιουργείται κατά την εγκατάσταση.
  • Μην αλλάζετε το $table_prefix σε ζωντανό ιστότοπο επεξεργαζόμενοι μόνο αυτή τη γραμμή. Το WordPress θα συμπεριφερθεί σαν να μην είναι εγκατεστημένο.

Πού θα βρείτε το wp-config.php

Συνδεθείτε μέσω SFTP ή ανοίξτε τη διαχείριση αρχείων της φιλοξενίας σας και πηγαίνετε στον φάκελο που περιέχει τα wp-admin, wp-includes και wp-content. Η τεκμηρίωση του WordPress τον ονομάζει ρίζα του καταλόγου αρχείων του WordPress.

Αν δεν είναι εκεί, κοιτάξτε έναν φάκελο πιο πάνω. Ο φορτωτής του WordPress ελέγχει πρώτα τον φάκελο εγκατάστασης και μετά τον γονικό φάκελο, και παραλείπει τον γονικό αν έχει δικό του wp-settings.php, γιατί αυτό σημαίνει ότι εκεί υπάρχει άλλη εγκατάσταση WordPress.

Αν το αρχείο δεν υπάρχει σε κανένα από τα δύο σημεία, το WordPress στέλνει τους επισκέπτες στην οθόνη εγκατάστασης. Αυτή η οθόνη δημιουργεί το αρχείο από το wp-config-sample.php. Όταν δεν μπορεί να γράψει στον φάκελο, σας δείχνει το κείμενο για να το επικολλήσετε χειροκίνητα σε νέο αρχείο.

Τι κάνει κάθε προεπιλεγμένη ενότητα

Το wp-config-sample.php είναι το πρότυπο, και έχει αυτά τα μέρη με αυτή τη σειρά:

ΕνότηταΤι περιέχειΜπορείτε να την αλλάξετε;
DB_NAME, DB_USER, DB_PASSWORD, DB_HOSTΤα στοιχεία σύνδεσης της βάσης δεδομένων. Το πρότυπο χρησιμοποιεί localhost ως host, και ο πάροχος φιλοξενίας μπορεί να σας δώσει τις πραγματικές τιμές.Ναι, όταν αλλάξουν τα στοιχεία της βάσης δεδομένων. Μια λάθος τιμή προκαλεί το σφάλμα σύνδεσης με τη βάση δεδομένων.
DB_CHARSET, DB_COLLATEΠώς αποθηκεύεται το κείμενο στη βάση δεδομένων. Οι προεπιλογές είναι utf8mb4 και μια κενή τιμή.Το ίδιο το σχόλιο του προτύπου για το DB_COLLATE λέει να μην το αλλάξετε αν έχετε αμφιβολία.
AUTH_KEY έως NONCE_SALTΟκτώ κλειδιά ασφαλείας και salts για τα cookies σύνδεσης.Ναι. Η αλλαγή τους αποσυνδέει όλους τους χρήστες.
$table_prefixΤο κείμενο στην αρχή του ονόματος κάθε πίνακα της βάσης δεδομένων, από προεπιλογή wp_.Μόνο κατά την εγκατάσταση, εκτός αν μετονομάσετε και τους πίνακες και ενημερώσετε τις αποθηκευμένες εγγραφές της βάσης των οποίων τα ονόματα χρησιμοποιούν το πρόθεμα.
WP_DEBUGΗ λειτουργία εντοπισμού σφαλμάτων, με τιμή false στο πρότυπο.Ναι. Ο οδηγός για τη θέση του αρχείου καταγραφής δείχνει πώς να στέλνετε τα σφάλματα σε αρχείο.
Το σχόλιο “custom values” (προσαρμοσμένες τιμές)Κενός χώρος για τις ρυθμίσεις σας, που τελειώνει στη γραμμή “stop editing”.Ναι, εδώ μπαίνουν οι προσθήκες σας.
ABSPATH και η γραμμή wp-settings.phpΗ διαδρομή προς το WordPress και η γραμμή που φορτώνει τα υπόλοιπα.Όχι. Αφήστε τα ως έχουν.

Νέα κλειδιά παίρνετε με ένα κλικ: η υπηρεσία μυστικών κλειδιών του WordPress.org δίνει νέο σύνολο κάθε φορά που τη φορτώνετε. Αντικαταστήστε και τις οκτώ γραμμές με το νέο σύνολο.

Τα παλαιότερα αρχεία μπορεί να μην έχουν το σχόλιο “custom values” και να γράφουν “Happy blogging” αντί για “Happy publishing”. Και τα δύο λειτουργούν, και ο κανόνας μένει ίδιος: προσθέστε τις ρυθμίσεις σας πάνω από εκείνη τη γραμμή.

Ρυθμίσεις που αλλάζουν συχνά

Καθεμία είναι μία γραμμή. Όλες προέρχονται από την τεκμηρίωση του wp-config.php, και οι προεπιλογές από το default-constants.php του WordPress.

// 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' );

Αντιγράψτε μόνο τις γραμμές που χρειάζεστε. Κάποιες έχουν λεπτομέρειες που αξίζει να γνωρίζετε:

  • Μνήμη: το WordPress χρησιμοποιεί από προεπιλογή 40M, ή 64M σε multisite, και 256M για το wp-admin, εκτός αν η PHP επιτρέπει ήδη περισσότερα. Αν η φιλοξενία σας δεν επιτρέπει αλλαγή του ορίου, το WordPress χρησιμοποιεί το όριο που έχει ήδη η PHP. Ο οδηγός για την εξάντληση μνήμης εξηγεί τι να κάνετε τότε.
  • Αναθεωρήσεις: είναι ενεργές από προεπιλογή. Βάλτε false για να τις απενεργοποιήσετε ή έναν αριθμό για όριο.
  • Αυτόματη αποθήκευση και κάδος: οι προεπιλογές είναι 60 δευτερόλεπτα και 30 ημέρες. Με EMPTY_TRASH_DAYS στο 0 ο κάδος απενεργοποιείται, και η τεκμηρίωση προειδοποιεί ότι τότε το WordPress δεν θα ζητά επιβεβαίωση όταν κάποιος πατά “Delete Permanently” (Οριστική διαγραφή).
  • Επεξεργαστής αρχείων: ο οδηγός ασφάλειας λέει ότι αυτό δεν θα εμποδίσει έναν επιτιθέμενο να ανεβάσει κακόβουλα αρχεία, αν και μπορεί να σταματήσει κάποιες επιθέσεις. Το DISALLOW_FILE_MODS πάει πιο πέρα και μπλοκάρει επίσης την εγκατάσταση και ενημέρωση προσθέτων και θεμάτων.
  • HTTPS: όταν η ρύθμιση «Διεύθυνση WordPress» ξεκινά ήδη με https, το WordPress ορίζει μόνο του το FORCE_SSL_ADMIN σε true. Αυτή η γραμμή αλλάζει κάτι μόνο όταν η διεύθυνση δεν ξεκινά με https.
  • Διευθύνσεις ιστότοπου: αυτές παρακάμπτουν τις αποθηκευμένες τιμές χωρίς να αλλάζουν ό,τι υπάρχει στη βάση δεδομένων. Συμπεριλάβετε το τμήμα https://.

Μία ρύθμιση χρειάζεται περισσότερο σχεδιασμό. Το define( 'DISABLE_WP_CRON', true ); σταματά τις επισκέψεις σελίδων από το να ξεκινούν προγραμματισμένες εργασίες, οπότε ρυθμίστε ένα cron στον server για το wp-cron.php πριν το ενεργοποιήσετε, αλλιώς οι προγραμματισμένες δημοσιεύσεις και άλλες χρονισμένες εργασίες δεν θα εκτελούνται.

Πώς να επεξεργαστείτε με ασφάλεια το wp-config.php

  1. Κατεβάστε πρώτα ένα αντίγραφο. Κρατήστε το στον δικό σας υπολογιστή. Ένα αντίγραφο στον server με όνομα όπως wp-config.php.bak μπορεί να διαβάζεται από πρόγραμμα περιήγησης, επειδή ο server δεν το χειρίζεται πια ως PHP.
  2. Ανοίξτε το αρχείο σε επεξεργαστή απλού κειμένου. Ο οδηγός επεξεργασίας του WordPress αναφέρει ως αποδεκτά τα Notepad++, Sublime Text και Visual Studio Code, και προειδοποιεί για τα Google Docs και Microsoft Word, επειδή οι επεξεργαστές κειμένου αλλάζουν τα εισαγωγικά και μπορούν να προσθέσουν κώδικα που χαλά τα αρχεία.
  3. Βρείτε τη γραμμή “stop editing” και βάλτε τις νέες γραμμές ακριβώς από πάνω. Αν η ρύθμιση έχει ήδη οριστεί πιο πάνω, αλλάξτε εκείνη τη γραμμή.
  4. Αποθηκεύστε, ανεβάστε και ανοίξτε τον ιστότοπο σε ιδιωτικό παράθυρο του προγράμματος περιήγησης, μαζί με μία σελίδα του wp-admin.
  5. Αν κάτι χαλάσει, επαναφέρετε το αντίγραφό σας. Έτσι αναιρείται η αλλαγή, ακόμη κι αν δεν φορτώνει το wp-admin.

Μεταφορά του αρχείου πάνω από τη ρίζα του web

Ο οδηγός ασφάλειας λέει ότι το wp-config.php μπορεί να αποθηκευτεί έναν φάκελο πάνω από την εγκατάσταση του WordPress, και ο κώδικας του φορτωτή το χειρίζεται χωρίς επιπλέον ρυθμίσεις. Μετακινήστε το αρχείο και ελέγξτε ότι ο ιστότοπος φορτώνει ακόμη. Η μεταφορά έχει δύο όρια:

  • Ο γονικός φάκελος δεν μπορεί να έχει άλλη εγκατάσταση WordPress. Ο φορτωτής αγνοεί γονικό φάκελο με δικό του wp-settings.php.
  • Ένα επίπεδο πιο πάνω είναι ιδιωτικό μόνο αν το WordPress βρίσκεται στη ρίζα του web. Αν το WordPress είναι σε υποφάκελο όπως /blog/, ένα επίπεδο πιο πάνω συνήθως παραμένει δημόσιο.

Ο ίδιος οδηγός αναφέρει ότι κάποιοι υποστηρίζουν πως η μεταφορά έχει ελάχιστα οφέλη ασφάλειας και ότι μπορεί να δημιουργήσει σοβαρά κενά ασφαλείας αν γίνει απρόσεκτα. Θεωρήστε την λοιπόν προαιρετική. Για τον Apache, ο οδηγός δίνει επίσης αυτό το μπλοκ για την αρχή του αρχείου .htaccess, που απορρίπτει τα απευθείας αιτήματα προς το αρχείο:

<Files "wp-config.php">
Require all denied
</Files>

Ο οδηγός μας για την ασφάλεια του .htaccess καλύπτει αυτόν τον κανόνα μαζί με άλλους.

Δικαιώματα αρχείου για το wp-config.php

Η τεκμηρίωση του WordPress δίνει ελαφρώς διαφορετικούς αριθμούς, ανάλογα με την περίπτωση:

  • Ο οδηγός ασφάλειας λέει ότι μόνο εσείς και ο web server πρέπει να μπορείτε να διαβάσετε το αρχείο, που σύμφωνα με αυτόν γενικά σημαίνει 400 ή 440.
  • Ο οδηγός δικαιωμάτων αρχείων αναφέρει 440 ή 400 σε κοινόχρηστη φιλοξενία με suexec, ώστε να μην μπορούν να το διαβάσουν άλλοι χρήστες του server. Δείχνει επίσης το 600 ως ασφαλισμένο παράδειγμα.
  • Για τα συνηθισμένα αρχεία του WordPress, ο ίδιος οδηγός αναφέρει 644 ή 640.

Ποιος αριθμός λειτουργεί εξαρτάται από τον χρήστη συστήματος με τον οποίο τρέχει ο web server. Ο web server πρέπει να μπορεί να διαβάζει το αρχείο, οπότε αν ο ιστότοπος σταματήσει να φορτώνει μετά από αλλαγή, γυρίστε στην προηγούμενη τιμή και ρωτήστε τον πάροχο φιλοξενίας ποια ταιριάζει στη δική του διαμόρφωση.

Συνηθισμένα λάθη

  • Επικόλληση ρύθμισης μετά τη γραμμή wp-settings.php. Αυτή η γραμμή φορτώνει το WordPress και ορίζει τις προεπιλογές του. Μια σταθερά της PHP δεν μπορεί να αλλάξει κατά την εκτέλεση ενός script, οπότε η γραμμή σας δεν έχει αποτέλεσμα.
  • Ορισμός της ίδιας ρύθμισης δύο φορές. Η πρώτη γραμμή ορίζει την τιμή και η δεύτερη δεν μπορεί να την αλλάξει. Το εγχειρίδιο της PHP αναφέρει ότι η επαναδήλωση σταθεράς έχει καταργηθεί σταδιακά (deprecated) από την PHP 8.5, οπότε μπορεί να εμφανιστεί και μήνυμα. Αναζητήστε το όνομα στο αρχείο πριν το προσθέσετε.
  • Εισαγωγικά γύρω από το true ή το false. Το 'false' είναι μη κενή συμβολοσειρά, και η PHP το θεωρεί true. Γράψτε false χωρίς εισαγωγικά. Τα μεγέθη όπως '256M' τα χρειάζονται.
  • Καμπυλωτά εισαγωγικά από επεξεργαστή κειμένου ή ιστοσελίδα. Η PHP χρειάζεται ίσια εισαγωγικά, οπότε τα καμπυλωτά προκαλούν σφάλμα που εμποδίζει τη φόρτωση του ιστότοπου.
  • Εμφάνιση σφαλμάτων εντοπισμού σε ζωντανό ιστότοπο. Το WP_DEBUG_DISPLAY είναι από προεπιλογή true, οπότε αν ενεργοποιήσετε μόνο το WP_DEBUG, τα σφάλματα εμφανίζονται στη σελίδα για τους επισκέπτες. Ο οδηγός για τη θέση του αρχείου καταγραφής δείχνει πώς να τα στέλνετε σε αρχείο.
  • Να μένει ενεργό το WP_ALLOW_REPAIR. Η τεκμηρίωση λέει να το ενεργοποιείτε μόνο όταν χρειάζεται και να το απενεργοποιείτε μόλις λυθεί το πρόβλημα.

Συχνές ερωτήσεις

Τι είναι το wp-config.php στο WordPress; Είναι το αρχείο ρυθμίσεων που φορτώνει το WordPress κατά την εκκίνηση. Περιέχει τα στοιχεία σύνδεσης της βάσης δεδομένων, τα κλειδιά ασφαλείας και το πρόθεμα πινάκων, και εκεί προσθέτετε ρυθμίσεις όπως WP_DEBUG ή WP_MEMORY_LIMIT.

Πού βρίσκεται το αρχείο wp-config.php; Κανονικά στη ρίζα της εγκατάστασης του WordPress, τον φάκελο που περιέχει επίσης τα wp-admin, wp-includes και wp-content. Το WordPress το δέχεται και έναν φάκελο πάνω από την εγκατάσταση, αρκεί αυτός ο φάκελος να μην έχει wp-settings.php.

Πού προσθέτω κώδικα στο wp-config.php; Πάνω από τη γραμμή That’s all, stop editing! Happy publishing. (Αυτά ήταν, σταματήστε την επεξεργασία! Καλές δημοσιεύσεις.) Τα παλαιότερα αρχεία γράφουν Happy blogging. Η τελευταία γραμμή κάτω από αυτή φορτώνει το WordPress, οπότε μια ρύθμιση μετά από εκείνη τη γραμμή έρχεται πολύ αργά.

Είναι ασφαλής η επεξεργασία του wp-config.php; Ναι, αν κρατήσετε αντίγραφο ασφαλείας και χρησιμοποιήσετε επεξεργαστή απλού κειμένου. Ένα μόνο τυπογραφικό λάθος μπορεί να εμποδίσει τη φόρτωση όλου του ιστότοπου, μαζί και του wp-admin, οπότε κατεβάστε πρώτα ένα αντίγραφο. Αν ο ιστότοπος χαλάσει μετά την αλλαγή, επαναφέρετε το αντίγραφο.

Τι συμβαίνει αν διαγράψω το wp-config.php; Το WordPress δεν μπορεί πια να βρει τα στοιχεία σύνδεσης της βάσης δεδομένων και ξεκινά τη διαδικασία εγκατάστασης, με προτροπή να δημιουργήσετε αρχείο ρυθμίσεων. Το περιεχόμενό σας μένει στη βάση δεδομένων, οπότε η επαναφορά του αντιγράφου ή η εκ νέου δημιουργία του αρχείου με τα ίδια στοιχεία συνδέει ξανά τον ιστότοπο.

Ποια δικαιώματα πρέπει να έχει το wp-config.php; Ο οδηγός ασφάλειας του WordPress λέει ότι μόνο εσείς και ο web server πρέπει να μπορείτε να το διαβάσετε, που γενικά σημαίνει 400 ή 440. Ο οδηγός δικαιωμάτων αρχείων δείχνει επίσης 600. Ο web server πρέπει να μπορεί να διαβάζει το αρχείο, οπότε ρωτήστε τον πάροχο φιλοξενίας αν ο ιστότοπος σταματήσει να φορτώνει.

Πηγές


Φτιάξτε τις ρυθμίσεις που χρειάζεστε χωρίς να τις πληκτρολογείτε, μαζί με νέα κλειδιά ασφαλείας, με τη δωρεάν γεννήτρια wp-config.php.

FAQ

Ερωτήσεις

Τι είναι το wp-config.php στο WordPress;

Είναι το αρχείο ρυθμίσεων που φορτώνει το WordPress κατά την εκκίνηση. Περιέχει τα στοιχεία σύνδεσης της βάσης δεδομένων, τα κλειδιά ασφαλείας και το πρόθεμα πινάκων, και εκεί προσθέτετε ρυθμίσεις όπως WP_DEBUG ή WP_MEMORY_LIMIT.

Πού βρίσκεται το αρχείο wp-config.php;

Κανονικά στη ρίζα της εγκατάστασης του WordPress, τον φάκελο που περιέχει επίσης τα wp-admin, wp-includes και wp-content. Το WordPress το δέχεται και έναν φάκελο πάνω από την εγκατάσταση, αρκεί αυτός ο φάκελος να μην έχει wp-settings.php.

Πού προσθέτω κώδικα στο wp-config.php;

Πάνω από τη γραμμή That's all, stop editing! Happy publishing. (Αυτά ήταν, σταματήστε την επεξεργασία! Καλές δημοσιεύσεις.) Τα παλαιότερα αρχεία γράφουν Happy blogging. Η τελευταία γραμμή κάτω από αυτή φορτώνει το WordPress, οπότε μια ρύθμιση μετά από εκείνη τη γραμμή έρχεται πολύ αργά.

Είναι ασφαλής η επεξεργασία του wp-config.php;

Ναι, αν κρατήσετε αντίγραφο ασφαλείας και χρησιμοποιήσετε επεξεργαστή απλού κειμένου. Ένα μόνο τυπογραφικό λάθος μπορεί να εμποδίσει τη φόρτωση όλου του ιστότοπου, μαζί και του wp-admin, οπότε κατεβάστε πρώτα ένα αντίγραφο. Αν ο ιστότοπος χαλάσει μετά την αλλαγή, επαναφέρετε το αντίγραφο.

Τι συμβαίνει αν διαγράψω το wp-config.php;

Το WordPress δεν μπορεί πια να βρει τα στοιχεία σύνδεσης της βάσης δεδομένων και ξεκινά τη διαδικασία εγκατάστασης, με προτροπή να δημιουργήσετε αρχείο ρυθμίσεων. Το περιεχόμενό σας μένει στη βάση δεδομένων, οπότε η επαναφορά του αντιγράφου ή η εκ νέου δημιουργία του αρχείου με τα ίδια στοιχεία συνδέει ξανά τον ιστότοπο.

Ποια δικαιώματα πρέπει να έχει το wp-config.php;

Ο οδηγός ασφάλειας του WordPress λέει ότι μόνο εσείς και ο web server πρέπει να μπορείτε να το διαβάσετε, που γενικά σημαίνει 400 ή 440. Ο οδηγός δικαιωμάτων αρχείων δείχνει επίσης 600. Ο web server πρέπει να μπορεί να διαβάζει το αρχείο, οπότε ρωτήστε τον πάροχο φιλοξενίας αν ο ιστότοπος σταματήσει να φορτώνει.