Vodnik za WordPress wp-config.php

Kaj je wp-config.php
Datoteka wp-config.php je ena najpomembnejših datotek v WordPress namestitvi, saj vsebuje konfiguracijo, ki nadzira, kako WordPress komunicira s podatkovno bazo, upravlja varnost, obravnava napake in dodeljuje sistemske vire. Ta datoteka se ustvari med namestitvijo WordPressa in se nahaja v korenskem imeniku spletne strani. V nasprotju z nastavitvami v skrbniški plošči, ki se hranijo v podatkovni bazi, se nastavitve wp-config.php uveljavijo, preden WordPress sploh vzpostavi povezavo s podatkovno bazo.
Razumevanje wp-config.php je nujno za vsakogar, ki resno upravlja WordPress spletno stran. Pravilna konfiguracija te datoteke lahko bistveno izboljša zmogljivost, varnost in stabilnost spletne strani. Napake v wp-config.php lahko spletno stran naredijo popolnoma nedostopno, saj se datoteka naloži pred vsem drugim. V tem vodniku gremo skozi vsako pomembno nastavitev z razlago, kaj počne, katere vrednosti uporabiti in kdaj jo spremeniti.
Nastavitve podatkovne baze
Osnovne konstante
DB_NAME določa ime podatkovne baze, ki jo WordPress uporablja. To ime se ustvari v hosting nadzorni plošči ali prek ukazne vrstice MySQL pred namestitvijo WordPressa. DB_USER je uporabniško ime za dostop do podatkovne baze z zadostnimi privilegiji za branje in pisanje. DB_PASSWORD je geslo za tega uporabnika, ki mora biti močno in edinstveno. Nikoli ne uporabljajte uporabnika root za WordPress, saj to predstavlja varnostno tveganje.
DB_HOST je naslov strežnika podatkovne baze, ki je običajno localhost, ko sta spletni strežnik in podatkovna baza na istem strežniku. Na nekaterih hosting platformah je lahko ta vrednost drugačna, na primer IP naslov ali pot socket. DB_CHARSET določa nabor znakov podatkovne baze in mora biti utf8mb4, ki podpira vse Unicode znake, vključno z emojiji. DB_COLLATE določa pravila za razvrščanje in primerjavo besedila in se običajno pusti prazno, da MySQL uporablja privzeti collation za izbrani charset.
Predpona tabel
Konstanta table_prefix določa predpono za vse WordPress tabele v podatkovni bazi. Privzeta vrednost je wp_, vendar se priporoča sprememba na nekaj edinstvenega, kot je abc123_, med namestitvijo. To je osnoven varnostni ukrep, ki otežuje napade SQL injection, saj napadalec ne more domnevati imen tabel. Sprememba predpone po namestitvi je mogoča, vendar zahteva previdno preimenovanje vseh tabel in posodobitev referenc v možnostih in uporabniških metapodatkih.
Varnostni ključi in soli
Kaj so varnostni ključi
WordPress uporablja osem varnostnih konstant AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY in njihove ustrezne SALT različice. Ti ključi se uporabljajo za šifriranje informacij, shranjenih v piškotkih uporabnikov. Brez teh ključev bi bile uporabniške seje ranljive za prestrezanje in krajo identitete. Vsak ključ mora biti edinstven, dolg in naključen s kombinacijo črk, številk in posebnih znakov.
WordPress zagotavlja spletni generator na api.wordpress.org/secret-key, ki generira osem naključnih ključev, pripravljenih za kopiranje v wp-config.php. Priporoča se periodična sprememba ključev, zlasti po varnostnem incidentu, saj sprememba razveljavi vse obstoječe seje in vse uporabnike prisili k ponovni prijavi. To je učinkovit način, da takoj odjavite vse uporabnike, vključno z morebitnim napadalcem, ki je kompromitiral skrbniški račun.
Pravilna implementacija
Kopirajte generirane ključe in zamenjajte placeholder vrednosti v wp-config.php. Vsak ključ mora biti edinstven in nikoli ne uporabljajte istih ključev na dveh različnih spletnih straneh. Če spletno stran selite na nov strežnik, kopirajte ključe iz starega wp-config.php, da se uporabnikom ne bo treba ponovno prijaviti. Varnostno kopijo ključev hranite na varnem mestu, saj njihova izguba ne povzroči trajne škode, vendar zahteva ponovno prijavo vseh uporabnikov.
Debug način
WP_DEBUG
Konstanta WP_DEBUG nadzira, ali WordPress prikazuje PHP napake, opozorila in obvestila. Privzeta vrednost je false, kar skrije vse napake pred obiskovalci. Nastavitev na true aktivira prikaz napak in je uporabna med razvojem ali diagnosticiranjem težav. Na produkcijski spletni strani WP_DEBUG nikoli ne sme biti true, saj prikazovanje napak obiskovalcem razkriva informacije o strukturi spletne strani, ki jih lahko napadalec izkoristi.
WP_DEBUG_LOG
Ko je WP_DEBUG_LOG nastavljen na true, WordPress zapisuje vse napake v datoteko wp-content/debug.log namesto, da bi jih prikazoval na zaslonu. To je idealno za produkcijske spletne strani, kjer želite spremljati napake brez prikazovanja obiskovalcem. Lahko določite prilagojeno pot tako, da WP_DEBUG_LOG nastavite na absolutno pot do dnevniške datoteke. Redno pregledujte dnevniško datoteko in jo izbrišite, ko postane prevelika, saj lahko zasede pomemben prostor na disku.
WP_DEBUG_DISPLAY
WP_DEBUG_DISPLAY nadzira, ali se napake prikazujejo na HTML strani. Nastavite na false v kombinaciji s WP_DEBUG true in WP_DEBUG_LOG true, da se napake beležijo v dnevniško datoteko, vendar ne prikazujejo obiskovalcem. SCRIPT_DEBUG, ko je nastavljen na true, sili WordPress, da uporablja nestisnjene različice CSS in JavaScript datotek, kar je uporabno za razvoj tem in vtičnikov, vendar upočasnjuje spletno stran v produkciji.
Omejitev pomnilnika
WP_MEMORY_LIMIT
WP_MEMORY_LIMIT določa največjo količino PHP pomnilnika, ki ga WordPress lahko uporablja za obdelavo zahtev na frontendu. Privzeta vrednost je 40M za standardne namestitve in 64M za Multisite. Za spletne strani z veliko vtičniki, velikimi medijskimi knjižnicami ali WooCommercom je priporočena povečava na 128M ali 256M. Ta vrednost ne sme presegati nastavitve PHP memory_limit na strežniku, saj WordPress ne more zahtevati več pomnilnika, kot ga PHP dovoljuje.
WP_MAX_MEMORY_LIMIT
WP_MAX_MEMORY_LIMIT določa omejitev pomnilnika za skrbniško ploščo, ki običajno zahteva več pomnilnika kot frontend zaradi obdelave slik, posodobitev in upravljanja vsebine. Privzeta vrednost je 256M. Če dobivate napake, kot je Allowed memory size exhausted v skrbniški plošči, povečajte to vrednost. Bodite pozorni, da lahko previsoka omejitev pomnilnika prikrije težavo z uhajanjem pomnilnika v vtičniku ali temi, namesto da bi jo rešila.
Napredne konstante
Autosave in revizije
AUTOSAVE_INTERVAL določa interval v sekundah med samodejnim shranjevanjem objav v urejevalniku. Privzeta vrednost je 60 sekund. Zmanjšanje na 30 sekund zagotavlja pogostejše varnostne kopije vsebine med pisanjem, vendar povečuje število zahtev do strežnika. WP_POST_REVISIONS nadzira, koliko revizij se hrani za vsako objavo. Privzeto WordPress hrani neomejeno število revizij, kar lahko napolni podatkovno bazo na spletnih straneh z veliko vsebine. Nastavite na konkretno število, kot je 5 ali 10, za razumen kompromis med varnostjo vsebine in velikostjo podatkovne baze.
Koš za smeti
EMPTY_TRASH_DAYS določa, koliko dni se izbrisana vsebina hrani v košu pred trajnim brisanjem. Privzeta vrednost je 30 dni. Zmanjšajte na 7 dni, če želite hitreje samodejno čistiti izbrisano vsebino. Nastavite na 0, da popolnoma onemogočite koš, kar pomeni, da se vsebina trajno izbriše takoj. To ni priporočljivo, saj ni možnosti obnovitve naključno izbrisane vsebine.
Samodejne posodobitve
WP_AUTO_UPDATE_CORE nadzira samodejne posodobitve WordPress jedra. Vrednost true omogoča vse posodobitve, vključno z večjimi različicami, minor omogoča samo manjše varnostne posodobitve, kar je privzeto, false pa popolnoma onemogoča samodejne posodobitve. AUTOMATIC_UPDATER_DISABLED, nastavljen na true, onemogoči vse samodejne procese posodabljanja, vključno z vtičniki in temami, ki imajo možnost samodejnega posodabljanja.
SSL in URL-ji
FORCE_SSL_ADMIN, nastavljen na true, prisili uporabo HTTPS za prijavo in skrbniško ploščo. Več o nastavitvi SSL certifikata. To je obvezno na vsaki spletni strani s SSL certifikatom, saj ščiti kredenciale administratorja pred prestrezanjem. WP_HOME in WP_SITEURL določata URL spletne strani in sta lahko uporabna pri selitvi spletne strani na nov naslov. Te konstante imajo prednost pred nastavitvami v podatkovni bazi, kar pomeni, da jih lahko uporabite za hitro spremembo URL-ja brez dostopa do skrbniške plošče.
Cron in načrtovani opravki
WordPress uporablja sistem wp-cron za načrtovane opravke, kot so objavljanje načrtovanih objav, preverjanje posodobitev in pošiljanje e-poštnih obvestil. WP-cron se sproži ob vsakem obisku spletne strani, kar ni idealno za spletne strani z nizkim ali zelo visokim prometom. DISABLE_WP_CRON, nastavljen na true, onemogoči ta sistem in zahteva konfiguracijo sistemskega crona, ki zaganja wp-cron.php v rednih intervalih, običajno vsakih 5 ali 15 minut.
ALTERNATE_WP_CRON uporablja alternativno metodo za zagon načrtovanih opravkov, ki je zanesljivejša v nekaterih hosting okoljih. WP_CRON_LOCK_TIMEOUT določa čas v sekundah, koliko časa se wp-cron zaklene, da prepreči sočasen zagon več instanc. Pri BeoHostingu naši hosting paketi podpirajo sistemski cron, ki je zanesljivejši od WordPress internega cron sistema, in ga lahko konfiguriramo za vašo spletno stran.
Varnostne konstante
Zaščita datotečnega sistema
DISALLOW_FILE_EDIT, nastavljen na true, onemogoči vgrajeni urejevalnik tem in vtičnikov v skrbniški plošči. To je pomemben varnostni ukrep, saj če napadalec kompromitira skrbniški račun, ne more uporabiti urejevalnika za vstavljanje zlonamerne kode v datoteke tem ali vtičnikov. DISALLOW_FILE_MODS gre korak dlje in onemogoči namestitev in posodabljanje tem in vtičnikov prek skrbniške plošče, kar prisili, da se vse spremembe izvajajo prek FTP ali SSH.
Premik wp-config.php en imenik nad korenom spletne strani je mogoč, saj WordPress samodejno išče datoteko v nadrejenem imeniku. To preprečuje neposreden dostop do datoteke prek spletnega brskalnika v primeru, da PHP preneha delovati in strežnik začne PHP datoteke postregati kot besedilo. Kombinacija teh ukrepov s pravilnimi dovoljenji datoteke 644 za wp-config.php ali celo 440 na strežnikih, kjer ima uporabnik spletnega strežnika dostop, bistveno izboljša varnost.
Optimizacija zmogljivosti
Predpomnjenje in kompresija
WP_CACHE, nastavljen na true, aktivira mehanizem za napredne predpomnilniške vtičnike, kot sta WP Super Cache ali W3 Total Cache. Ta konstanta omogoča nalaganje datoteke advanced-cache.php, ki jo predpomnilniški vtičnik ustvari za obdelavo zahtev, preden WordPress naloži vse vtičnike in temo. Brez te konstante predpomnilniški vtičniki ne morejo delovati optimalno. Kompresija vsebine z define COMPRESS_CSS true in define COMPRESS_SCRIPTS true lahko zmanjša velikost CSS in JavaScript datotek.
Podatkovna baza
SAVEQUERIES, nastavljen na true, beleži vse poizvedbe do podatkovne baze in čas izvajanja v globalno spremenljivko wpdb queries. To je uporabno za diagnosticiranje počasne spletne strani, saj lahko identificirate poizvedbe, ki trajajo predolgo ali se po nepotrebnem ponavljajo. Nikoli ne pustite tega vključenega v produkciji, saj hranjenje vseh poizvedb v pomnilniku povečuje porabo virov. Uporabite samo začasno za analizo zmogljivosti v kombinaciji z vtičnikom, kot je Query Monitor.
Zaključek
Datoteka wp-config.php je nadzorni center WordPress namestitve, ki določa vedenje spletne strani na temeljni ravni. Pravilna konfiguracija varnostnih ključev, debug načina, omejitev pomnilnika in naprednih konstant lahko bistveno izboljša varnost, zmogljivost in stabilnost spletne strani. Redno pregledujte in posodabljajte nastavitve v skladu z rastjo spletne strani in spremembami v infrastrukturi. Pri BeoHostingu naša ekipa lahko pomaga z optimizacijo nastavitev wp-config.php za največje zmogljivosti na naši hosting platformi.
BeoHosting Ekipa
10+ let izkušenj — Strokovnjaki za spletno gostovanje in infrastrukturo
- Web Hosting
- WordPress Hosting
- VPS
- Dedicated Serveri
- Domeni
- SSL
- cPanel
- LiteSpeed
- Linux administracija
- DNS
Zadnja posodobitev: