Lumaktaw sa nilalaman
Configuration

wp-config.php File ng WordPress: Ano Ito at Paano I-edit

Nasa wp-config.php ang database login, security keys at settings ng WordPress. Alamin kung nasaan ito, ano ang bawat bahagi at paano ito ligtas na i-edit.

Nailathala

Ang wp-config.php ang file na nagsasabi sa WordPress kung paano kumonekta sa database nito at kung paano tatakbo. Karaniwan itong nasa root folder ng install mo, katabi ng wp-admin at wp-content. Ligtas kang makakapagdagdag o makakapagbago ng settings sa itaas ng linyang “That’s all, stop editing!” (sa Tagalog: “iyan na lahat, huwag nang mag-edit!”), at dapat mong hayaan ang dalawang block ng code sa ibaba nito. Mag-backup muna, dahil isang typo lang ay puwedeng magpabagsak sa buong site.

Mga pangunahing punto

  • Nasa file ang database password at security keys mo, kaya ituring itong parang password at huwag kailanman i-post ang laman nito sa forum o support chat.
  • Sa itaas ng linyang “stop editing” ilalagay ang custom settings. Ang huling linya sa ibaba nito ang naglo-load ng WordPress, at huli na ang setting na nasa pagkatapos ng linyang iyon.
  • Kasama sa na-download mong WordPress ang wp-config-sample.php. Ang totoong wp-config.php ay ginagawa habang nagse-setup.
  • Huwag baguhin ang $table_prefix sa live site sa pamamagitan ng pag-edit sa linyang iyon lang. Aasta ang WordPress na parang hindi ito naka-install.

Saan makikita ang wp-config.php

Kumonekta sa SFTP o buksan ang file manager ng host mo, tapos pumunta sa folder na may wp-admin, wp-includes at wp-content. Tinatawag ito ng dokumentasyon ng WordPress na root ng WordPress file directory mo.

Kung wala roon, tumingin sa isang folder sa itaas. Unang sinusuri ng loader ng WordPress ang install folder, tapos ang parent folder, at nilalaktawan nito ang parent kung may sarili itong wp-settings.php, dahil ibig sabihin ay may ibang WordPress install doon.

Kung wala ang file sa dalawang lugar, ipinapadala ng WordPress ang mga bisita sa setup screen nito. Binubuo ng screen na iyon ang file mula sa wp-config-sample.php. Kapag hindi ito makasulat sa folder, ipinapakita nito ang text na ipe-paste mo sa bagong file nang mano-mano.

Ano ang ginagawa ng bawat default na section

Ang wp-config-sample.php ang template, at may mga bahagi itong ganito ang pagkakasunod-sunod:

SectionAno ang lamanPuwede bang baguhin?
DB_NAME, DB_USER, DB_PASSWORD, DB_HOSTAng database login. Gumagamit ang sample ng localhost bilang host, at maibibigay ng web host mo ang totoong values.Oo, kapag nagbago ang database details mo. Ang maling value ay nagdudulot ng error establishing a database connection.
DB_CHARSET, DB_COLLATEKung paano iniimbak ang text sa database. Ang defaults ay utf8mb4 at isang walang lamang value.Sabi ng sariling comment ng sample para sa DB_COLLATE, huwag itong baguhin kung may alinlangan.
Mula AUTH_KEY hanggang NONCE_SALTWalong security keys at salts na ginagamit para sa login cookies.Oo. Mala-log out ang lahat ng user kapag binago ang mga ito.
$table_prefixAng text sa simula ng bawat pangalan ng database table, wp_ bilang default.Sa oras lang ng install, maliban kung papalitan mo rin ang pangalan ng tables at ia-update ang naka-save na database entries na gumagamit ng prefix sa pangalan.
WP_DEBUGAng debug mode, naka-set sa false sa sample.Oo. Ipinapakita ng gabay sa lokasyon ng debug log kung paano ipadala sa file ang errors.
Ang comment na “custom values” (sariling values)Bakanteng espasyo para sa sarili mong settings, na nagtatapos sa linyang “stop editing”.Oo, dito napupunta ang mga idinagdag mo.
ABSPATH at ang linyang wp-settings.phpAng path papunta sa WordPress, tapos ang linyang naglo-load ng iba pa nito.Hindi. Hayaan ang mga ito.

Isang click lang ang bagong keys: nagbibigay ang secret-key service ng WordPress.org ng bagong set tuwing ilo-load mo ito. Palitan ang lahat ng walong linya ng bagong set.

Puwedeng walang comment na “custom values” ang mas lumang files at “Happy blogging” ang nakasulat sa halip na “Happy publishing”. Parehong gumagana ang dalawa, at pareho rin ang patakaran: idagdag ang settings mo sa itaas ng linyang iyon.

Mga setting na madalas baguhin

Isang linya lang ang bawat isa. Lahat ng ito ay galing sa dokumentasyon ng wp-config.php, at galing sa default-constants.php ng WordPress ang defaults.

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

Kopyahin lang ang mga linyang kailangan mo. May mga detalyeng dapat malaman sa ilan sa mga ito:

  • Memory: 40M ang default ng WordPress, o 64M sa multisite, at 256M para sa wp-admin maliban kung mas mataas na ang pinapayagan ng PHP. Kung hindi pinapayagan ng host mo na baguhin ang limit, gagamitin ng WordPress ang limit na mayroon na ang PHP. Ipinapaliwanag ng gabay sa memory exhausted ang dapat gawin kapag nangyari iyon.
  • Revisions: naka-on ang mga ito bilang default. I-set sa false para i-off, o sa isang numero para limitahan.
  • Autosave at trash: 60 segundo at 30 araw ang defaults. Kapag na-set sa 0 ang EMPTY_TRASH_DAYS, naka-off ang trash, at nagbababala ang dokumentasyon na hindi na hihingi ng kumpirmasyon ang WordPress kapag may nag-click ng “Delete Permanently” (permanenteng burahin).
  • File editor: sabi ng hardening guide, hindi nito mapipigilan ang attacker na mag-upload ng malicious files, bagama’t baka mapigilan nito ang ilang atake. Mas malayo ang DISALLOW_FILE_MODS at bina-block din nito ang pag-install at pag-update ng plugins at themes.
  • HTTPS: kapag nagsisimula na sa https ang setting na WordPress Address, kusang sine-set ng WordPress ang FORCE_SSL_ADMIN sa true. May nababago lang ang linyang ito kapag hindi nagsisimula sa https ang address.
  • Mga site address: ino-override ng mga ito ang naka-save na values nang hindi binabago ang nakaimbak sa database. Isama ang bahaging https://.

May isang setting na kailangan ng mas maraming pagpaplano. Ang define( 'DISABLE_WP_CRON', true ); ay pumipigil sa page visits na magsimula ng scheduled tasks, kaya mag-set up muna ng server cron job para sa wp-cron.php bago ito i-on, kung hindi ay hindi tatakbo ang scheduled posts at iba pang timed jobs.

Paano ligtas na i-edit ang wp-config.php

  1. Mag-download muna ng kopya. Itago ito sa sarili mong computer. Ang kopyang iniwan sa server na may pangalang gaya ng wp-config.php.bak ay puwedeng mabasa sa browser, dahil hindi na ito itinuturing ng server na PHP.
  2. Buksan ang file sa plain text editor. Inililista ng gabay ng WordPress sa pag-edit ng files ang Notepad++, Sublime Text at Visual Studio Code bilang katanggap-tanggap, at nagbababala laban sa Google Docs at Microsoft Word dahil binabago ng word processors ang quote marks at puwedeng magdagdag ng code na sumisira sa files.
  3. Hanapin ang linyang “stop editing” at ilagay ang bago mong mga linya sa mismong itaas nito. Kung naka-define na ang setting sa mas itaas, baguhin ang linyang iyon.
  4. I-save at i-upload, tapos i-load ang site mo sa private browser window, kasama ang isang page sa wp-admin.
  5. Kung may masira, ibalik ang kopya mo. Binabawi nito ang edit kahit hindi naglo-load ang wp-admin.

Paglipat ng file sa itaas ng web root

Sabi ng hardening guide, puwedeng itago ang wp-config.php sa isang folder sa itaas ng WordPress install mo, at kaya ito ng loader code nang walang dagdag na settings. Ilipat ang file, tapos tingnan kung naglo-load pa rin ang site. May dalawang limitasyon ang paglipat:

  • Hindi puwedeng may ibang WordPress install ang parent folder. Binabalewala ng loader ang parent folder na may sariling wp-settings.php.
  • Pribado lang ang isang level sa itaas kung nasa web root ang WordPress. Kung nasa subfolder gaya ng /blog/ ang WordPress, karaniwang public pa rin ang isang level sa itaas.

Sabi rin ng parehong gabay, may mga nagsasabing minimal lang ang security benefits ng paglipat, at puwede itong magdulot ng seryosong vulnerabilities kung gagawin nang pabaya. Kaya ituring itong opsyonal. Sa Apache, ibinibigay rin ng gabay ang block na ito para sa itaas ng .htaccess file mo, na tumatanggi sa mga direktang request sa file:

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

Tinatalakay ng aming gabay sa seguridad ng .htaccess ang rule na iyon kasama ng iba pa.

File permissions ng wp-config.php

Bahagyang magkakaiba ang mga numerong ibinibigay ng WordPress docs, depende sa sitwasyon:

  • Sabi ng hardening guide, ikaw at ang web server lang dapat ang makakabasa ng file, na ayon dito ay karaniwang nangangahulugang 400 o 440.
  • Sabi ng file permissions guide, 440 o 400 sa shared hosting na may suexec, para hindi ito mabasa ng ibang user sa server. Ipinapakita rin nito ang 600 bilang secured na halimbawa.
  • Para sa ordinaryong WordPress files, 644 o 640 ang sabi ng gabay na iyon.

Kung aling numero ang gagana ay depende sa system user na ginagamit ng web server mo. Kailangang mabasa ng web server ang file, kaya kung huminto sa pag-load ang site pagkatapos ng pagbabago, bumalik sa dating value at tanungin ang host mo kung alin ang akma sa setup nila.

Mga karaniwang pagkakamali

  • Pag-paste ng setting pagkatapos ng linyang wp-settings.php. Nilo-load ng linyang iyon ang WordPress at itinatakda ang defaults nito. Hindi puwedeng magbago ang PHP constant habang tumatakbo ang script, kaya walang epekto ang linya mo.
  • Pag-define ng parehong setting nang dalawang beses. Ang unang linya ang nagtatakda ng value at hindi ito mababago ng pangalawa. Ayon sa PHP manual, deprecated na ang muling pag-declare ng constant mula PHP 8.5, kaya puwede ring may lumabas na mensahe. Hanapin muna ang pangalan sa file bago ito idagdag.
  • Paglalagay ng quotes sa paligid ng true o false. Ang 'false' ay non-empty string, at itinuturing iyon ng PHP na true. Isulat ang false nang walang quotes. Kailangan naman ng quotes ang mga size gaya ng '256M'.
  • Curly quotes mula sa word processor o web page. Straight quotes ang kailangan ng PHP, kaya nagdudulot ang curly quotes ng error na pumipigil sa pag-load ng site.
  • Pagpapakita ng debug errors sa live site. true ang default ng WP_DEBUG_DISPLAY, kaya kung WP_DEBUG lang ang i-on mo, lalabas ang errors sa page para sa mga bisita. Ipinapakita ng gabay sa lokasyon ng debug log kung paano ipadala ang mga ito sa file.
  • Pag-iwang naka-on ang WP_ALLOW_REPAIR. Sabi ng dokumentasyon, i-enable lang ito kapag kailangan at i-disable kapag nalutas na ang isyu.

Mga madalas itanong

Ano ang wp-config.php sa WordPress? Ito ang configuration file na nilo-load ng WordPress sa pagsisimula. Nasa loob nito ang database login, security keys at table prefix, at dito ka nagdaragdag ng settings gaya ng WP_DEBUG o WP_MEMORY_LIMIT.

Nasaan ang wp-config.php file? Karaniwan sa root ng WordPress install mo, ang folder na may wp-admin, wp-includes at wp-content din. Tinatanggap din ito ng WordPress sa isang folder sa itaas ng install, basta walang wp-settings.php ang folder na iyon.

Saan ako magdaragdag ng code sa wp-config.php? Sa itaas ng linyang That’s all, stop editing! Happy publishing. Happy blogging naman ang nakasulat sa mas lumang files. Ang huling linya sa ibaba nito ang naglo-load ng WordPress, kaya huli na ang setting na ilalagay pagkatapos ng linyang iyon.

Ligtas bang i-edit ang wp-config.php? Oo, kung may backup ka at plain text editor ang gamit mo. Isang typo lang ay puwedeng pumigil sa pag-load ng buong site, kasama ang wp-admin, kaya mag-download muna ng kopya. Kung masira ang site pagkatapos ng edit, ibalik ang kopya.

Ano ang mangyayari kung burahin ko ang wp-config.php? Hindi na mahahanap ng WordPress ang database login nito at sisimulan nito ang setup process, na may prompt para gumawa ng configuration file. Nananatili ang content mo sa database, kaya maikokonekta muli ang site kapag ibinalik ang backup o ginawa muli ang file gamit ang parehong detalye.

Anong permissions dapat mayroon ang wp-config.php? Sabi ng hardening guide ng WordPress, ikaw at ang web server lang dapat ang makakabasa nito, na karaniwang nangangahulugang 400 o 440. Ipinapakita rin ng file permissions guide nito ang 600. Kailangan pa ring mabasa ng web server ang file, kaya magtanong sa host mo kung huminto sa pag-load ang site.

Mga pinagmulan


Buuin ang settings na kailangan mo nang hindi mano-manong nagta-type, kasama ang bagong security keys, gamit ang libreng wp-config.php generator.

FAQ

Mga Tanong

Ano ang wp-config.php sa WordPress?

Ito ang configuration file na nilo-load ng WordPress sa pagsisimula. Nasa loob nito ang database login, security keys at table prefix, at dito ka nagdaragdag ng settings gaya ng WP_DEBUG o WP_MEMORY_LIMIT.

Nasaan ang wp-config.php file?

Karaniwan sa root ng WordPress install mo, ang folder na may wp-admin, wp-includes at wp-content din. Tinatanggap din ito ng WordPress sa isang folder sa itaas ng install, basta walang wp-settings.php ang folder na iyon.

Saan ako magdaragdag ng code sa wp-config.php?

Sa itaas ng linyang That's all, stop editing! Happy publishing. Happy blogging naman ang nakasulat sa mas lumang files. Ang huling linya sa ibaba nito ang naglo-load ng WordPress, kaya huli na ang setting na ilalagay pagkatapos ng linyang iyon.

Ligtas bang i-edit ang wp-config.php?

Oo, kung may backup ka at plain text editor ang gamit mo. Isang typo lang ay puwedeng pumigil sa pag-load ng buong site, kasama ang wp-admin, kaya mag-download muna ng kopya. Kung masira ang site pagkatapos ng edit, ibalik ang kopya.

Ano ang mangyayari kung burahin ko ang wp-config.php?

Hindi na mahahanap ng WordPress ang database login nito at sisimulan nito ang setup process, na may prompt para gumawa ng configuration file. Nananatili ang content mo sa database, kaya maikokonekta muli ang site kapag ibinalik ang backup o ginawa muli ang file gamit ang parehong detalye.

Anong permissions dapat mayroon ang wp-config.php?

Sabi ng hardening guide ng WordPress, ikaw at ang web server lang dapat ang makakabasa nito, na karaniwang nangangahulugang 400 o 440. Ipinapakita rin ng file permissions guide nito ang 600. Kailangan pa ring mabasa ng web server ang file, kaya magtanong sa host mo kung huminto sa pag-load ang site.