Ingin mulai menggunakan Better WP-Config ASAP ?
define()
semua konstanta yang diperlukan oleh inti WordPress untuk Anda.php
, file .env
, atau file JSON
.db
, debug
, error
, salts
, dll.define()
vs. ini_set()
, dll.define()
yang diperlukan oleh plugin atau tema apa punprivate
host web terkelola untuk menyimpan konfigurasiABSPATH
(misalnya WP core) ke root web, /wp
atau subdir lainnyaWP_CONTENT_DIR
ke /wp-content
, /app
atau subdir lainnyalocal
, test
, stage
, prod
, dll.HTTP_HOST
dengan ekspresi regulersecrets
)index.php
atau wp-config.php
$_ENV
, $_SERVER
atau getenv()
private
wp_config()->print_config();
(Catatan: Hal berikut ini tidak akan berlaku sampai kami menyelesaikan masalah ini. Sampai saat itu, lihat panduan singkat kami)
Cukup buat file bernama /wp-content/config/config.php
dan tambahkan konfigurasi situs Anda menggunakan format di sini:
<?php
return array(
'db[name]' => 'example_db',
'db[user]' => 'example_user',
'db[pass]' => '1234567890abcdef',
'db[charset]' => 'utf8mb4_unicode_ci',
'db[collate]' => 'utf8mb4',
'db[host]' => 'localhost',
'db[table_prefix]' => 'wp_',
'defines' => array(
'CONSTANT_REQUIRED_BY_A_PLUGIN' => 'it's value'
),
);
Anda juga perlu mengganti /index.php
dan /wp-config.php
situs Anda dengan alternatif yang sangat sederhana yang masing-masing dapat Anda temukan di sini dan di sini.
Namun, sebelum Anda salah berasumsi:
WP-Config yang lebih baik dapat memuat file konfigurasi dari ../config
, /private/config
, atau di mana pun Anda suka.
Jika Anda suka memisahkan konfigurasi dan kode, Anda dapat mengatur file_format
Anda ke 'env'
.
Ini mungkin terlihat sederhana — yang dimaksudkan untuk memudahkan memulai — tetapi Better WP-Config dirancang untuk menangani persyaratan konfigurasi yang sangat kompleks. Setelah Anda memulai dan menghadapi kasus penggunaan yang lebih kompleks seperti berbagai lingkungan dan penerapan otomatis, Anda akan melihat betapa fleksibel dan kuatnya Better WP-Config.
Anda mungkin bertanya masalah apa yang coba dipecahkan oleh Better WP-Config. Anda mungkin bertanya: "Mengapa kita memerlukan solusi konfigurasi WordPress yang lebih baik?" Ya, kami memerlukannya karena kami menemukan bahwa terlalu banyak kasus penggunaan di luar hal sepele yang memerlukan solusi konfigurasi yang lebih baik. Baca terus:
WordPress adalah CMS yang hebat, tetapi mengabaikan kebutuhan pengembang WordPress yang ingin menggunakan alur kerja yang lebih profesional seperti lingkungan test
/ stage
/ live
. Konfigurasi WordPress default dirancang untuk mengelola konfigurasi untuk satu lingkungan; jika Anda ingin mengelola lebih banyak, Anda harus menerapkan solusi konfigurasi multi-lingkungan Anda sendiri.
WordPress memungkinkan Anda menyimpan konfigurasi di wp-config.php
di root web, atau satu tingkat direktori di atasnya. Meskipun Anda dapat menyimpan konfigurasi Anda di file lain dan kemudian require()
di wp-config.php
(yang dilakukan oleh Better WP-Config ), meretas solusi khusus berarti Anda juga perlu mendokumentasikan dan memeliharanya, dengan asumsi Anda ingin bergantung padanya di masa depan.
Dan jika Anda bersusah payah mengembangkan dan mendokumentasikan solusi seperti Better WP-Config, pada dasarnya Anda akan menginvestasikan waktu (dan uang?) untuk menduplikasi apa yang baru saja Anda gunakan tanpa upaya pengembangan dan dokumentasi apa pun.
Menambahkan penghinaan terhadap setiap host yang dikelola WordPress — seperti Pantheon dan WPEngine — masing-masing meluncurkan solusi konfigurasi mereka sendiri yang tidak kompatibel untuk mendukung penawaran WordPress yang dikelola mereka sendiri.
Berikut adalah cara berbagai hosting yang dikelola WordPress menangani dan/atau membatasi Anda dengan wp-config.php
.
Jika Anda sudah familiar dengan cara situs WordPress terkelola lainnya menangani wp-config.php
harap pertimbangkan untuk mengirimkan permintaan penarikan dengan dokumentasi tentang cara mereka menangani wp-config.php
untuk membantu kami dan orang lain.
Siapa pun yang pernah bekerja dengan WordPress tahu tentang mengonfigurasi kredensial database WordPress melalui konstanta PHP DB_HOST
, DB_NAME
, DB_USER
dan DB_PASSWORD
. Hal ini tampaknya sederhana dan mudah ketika Anda pertama kali mulai bekerja dengan WordPress, namun seiring berjalannya waktu Anda menyadari bahwa hal ini membuat konfigurasi menjadi sangat tidak fleksibel karena Anda tidak dapat melakukan konfigurasi bertingkat dari default WordPress, default proyek Anda, ke spesifikasi lingkungan Anda, dan akhirnya ke konfigurasi host web Anda.
WPConfig yang lebih baik tidak menghilangkan penggunaan konstanta yang tidak dapat diubah melainkan menunggu hingga semua konfigurasi berjenjang digabungkan sebelum define()
memasukkan konstanta ini. (Tetapi ini bisa menjadi langkah pertama untuk menghapuskan penggunaan konstanta define()
d PHP dari WordPress. Ini adalah sebuah pemikiran, karena konstanta abadi PHP membuat pengujian otomatis fungsionalitas WordPress jauh lebih sulit daripada yang seharusnya.)
Sayangnya tidak ada cara sederhana untuk menemukan semua opsi yang tersedia untuk inti WordPress karena opsi tersebut tersirat di seluruh basis kode WordPress dan berbagai lokasi terdokumentasi secara online. WP-Config yang lebih baik (kebanyakan) memecahkan masalah ini dengan "wp_config()->print_config()
, analog dengan phpinfo()
Banyak opsi konfigurasi yang tidak memiliki default, seperti konfigurasi database yang menambah pembelajaran yang diperlukan untuk pengembangan lokal. WP-Config yang lebih baik menyediakan opsi default untuk semua opsi "yang diketahui" .
Dengan sendirinya Anda dapat menghasilkan serangkaian konvensi yang bisa diterapkan untuk dapat mengontrol versi konfigurasi Anda untuk semua lingkungan berbeda yang dibutuhkan proyek Anda - kami melakukannya - tetapi kemudian Anda menyadari bahwa setiap hosting menanganinya secara berbeda dan mencoba semaksimal mungkin , Anda merasa tidak mungkin menemukan satu solusi konsisten yang dapat digunakan tim Anda yang dapat digunakan dengan host web berbeda yang Anda dan klien Anda pilih.
Untuk lebih memahami mengapa hal ini sulit, pastikan untuk membaca tentang bagaimana Pantheon dan WPEngine masing-masing menangani file wp-config.php
.
Terakhir, masalah terkait alur kerja profesional dan kasus penggunaan kontrol versi diperburuk oleh pilihan tidak kompatibel yang dibuat oleh host web WordPress yang dikelola hanya karena kurangnya standarisasi wp-config.php
hanya membuat penerapan lebih sulit dari yang seharusnya. Hal ini berlaku baik Anda menggunakan unggahan SFTP, penerapan Git seperti yang dimiliki Pantheon, atau penerapan melalui penyedia integrasi berkelanjutan seperti CircleCI.
Kabar baiknya adalah Better WP-Config memecahkan (hampir) semua masalah ini, hari ini! Mulailah .
Kami sangat senang dengan seberapa baik WP-Config yang lebih baik . Namun, hal-hal yang mungkin terjadi adalah:
Hebat jika fork ClassicPress dan CalmPress mengadopsi WP-Config yang lebih baik untuk konfigurasi,
Lebih baik lagi jika host web yang dikelola WordPress akan melakukan standarisasi pada WP-Config yang Lebih Baik untuk layanan mereka, atau
Yang terbaik adalah jika WordPress sendiri menggunakan Better WP-Config untuk instalasi baru, sambil tetap mempertahankan dukungan berkelanjutan untuk situs yang sudah ada yang sudah menggunakan wp-config.php
seperti yang telah dilakukan selama bertahun-tahun.
GPLv2