Untuk lingkungan WordPress, biasanya tidak ada alasan untuk digunakan ini_set
karena itulah yang sudah dicapai oleh konstanta yang ditentukan oleh WordPress Core. Cara kerja PHP adalah bahwa pengaturan tertentu dapat ditimpa dalam CMS (WordPress) Anda, dalam skrip individual, dan bahkan berdasarkan per-pengguna atau per-direktori (banyak yang membuat frustrasi host web dan agensi).
Untuk menonaktifkan kesalahan agar tidak ditampilkan pada halaman di WordPress, satu-satunya pengaturan yang benar-benar Anda butuhkan adalah:
define('WP_DEBUG', false);
... karena ketika WP_DEBUG
dinonaktifkan, sub-opsi kemudian tidak aktif:
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', false);
Ingatlah bahwa WP_DEBUG_LOG
opsi membingungkan hanya merujuk pada pembuatan debug.log
di dalam direktori wp-content
dan tidak mempengaruhi pengaturan logging lainnya, dll.
Sekali lagi, pengaturan di WordPress dapat mengesampingkan pengaturan PHP default, sehingga pengaturan PHP Anda tidak masalah sebanyak memiliki pengaturan yang benar dalam wp-config.php
file Anda , yang dimuat sebelum komponen WP lainnya.
Yang mengatakan, itu adalah ide yang baik untuk menerapkan pengaturan default seperti di bawah ini dalam produksi:
error_reporting = E_ERROR | E_WARNING | E_PARSE
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/www/logs/error.log
log_errors_max_len = 1024
ignore_repeated_errors = On
ignore_repeated_source = Off
report_memleaks = On
xmlrpc_errors = 0
html_errors = Off
Untuk contoh lengkap, lihat file php.ini SlickStack kami yang dioptimalkan untuk Nginx dan PHP-FPM.
Dalam satu kasus, setelah berjam-jam penelitian, kami menyadari sebuah plugin (atau tema) menimpa berbagai pengaturan penanganan kesalahan yang sebelumnya ditetapkan dalam php.ini
dan wp-config.php
. Satu-satunya cara untuk mencegah hal ini adalah dengan menghapus plugin atau tema WordPress yang mencoba "meretas" pengaturan PHP Anda, atau memberitahu mereka untuk menghapusnya karena itu adalah praktik yang sangat buruk bagi ekstensi untuk menimpa opsi debug CMS Anda.
Di SlickStack, kami membuat skrip Bash yang "menandai" setiap ini_set
dan error_reporting
baris dari file PHP di /themes/
dan /plugins/
direktori dengan menyorot contoh tersebut menggunakan Plugin MU (skrip PHP) yang menampilkan daftar "peretasan" seperti itu di Dasbor Admin WP.