Apakah ada cara untuk membungkam semua kesalahan, peringatan, dan pemberitahuan PHP di Drupal? Mereka berguna di situs devel tetapi mereka adalah risiko keamanan yang besar, dan membuat situs tampak buruk di siaran langsung.
Saya tahu pada Drupal 6 halaman di admin / pengaturan / pelaporan kesalahan dapat menghentikan Drupal dari menulis kesalahan ke layar, tetapi di mana saya bisa menemukannya di Drupal 7? Sepertinya itu hilang.
Jawaban:
Path berubah, seperti pada Drupal 7 halaman yang sama yang sebelumnya akan Anda lihat di admin / pengaturan / pelaporan kesalahan sekarang di admin / config / development / logging.
sumber
Seperti yang disarankan, pada
Administration » Configuration » Development
(at/admin/config/development/logging
) Anda dapat menemukan pengaturan untuk menonaktifkan menampilkan pesan kesalahan, tetapi itu tidak akan menonaktifkan sepenuhnya kesalahan / pemberitahuan.Itu karena Drupal 7 memberlakukan E_ALL, jadi mereka masih menulis ke syslog dan Anda dapat melihatnya di log terbaru yang memengaruhi kinerja situs web Anda.
Untuk menonaktifkan pemberitahuan sepenuhnya, Anda harus menambahkan baris berikut ke dalam
settings.php
atauphp.ini
berkas:Untuk membungkam semua kesalahan PHP, yang tidak disarankan, Anda dapat mencoba menambahkan dalam file pengaturan Anda:
Lihat:
error_reporting()
Kode inti Drupal 7 yang bertanggung jawab untuk
E_ALL
logging (fileincludes/bootstrap.inc
:):Lihat juga:
sumber
Satu hal yang tidak disebutkan oleh siapa pun yang mungkin bermanfaat bagi orang untuk mengetahui adalah bahwa Drupal 7 mengabaikan semua tingkat pelaporan kesalahan sistem lokal. Jadi, Anda tidak dapat menggunakan .htaccess atau bahkan php.ini untuk mengatur level pelaporan kesalahan php di Drupal.
Ada tambalan yang diusulkan untuk ini di D8, tetapi saat ini di D7 Anda terbatas pada 3 topeng kesalahan - semua, tidak ada, atau kesalahan & peringatan - yang ditetapkan pada halaman admin yang ditunjukkan kiamlaluno.
sumber
Pengaturan selalu di admin / config / pengembangan / logging :)
sumber
Tidak yakin mengapa metode Drush sangat tidak berdokumen, tetapi ada dalam skrip build saya:
... yang menyimpan pesan kesalahan ke log tetapi tidak muncul di layar.
sumber
Anda mungkin perlu menambahkan kutipan ke solusi kenorb yang diposting di atas:
sumber
Ada modul untuk itu:
https://www.drupal.org/project/errorlevelpermission
Dari halaman proyek:
Jadi kamu bisa
sumber