Pencatatan kesalahan PHP untuk situs Anda adalah tingkat pencatatan opsional yang dapat diaktifkan untuk mencatat kesalahan yang terjadi dengan kode PHP. Ada beberapa alasan Anda dapat memilih untuk mengaktifkan pencatatan kesalahan PHP. Anda mungkin ingin mengaktifkan pencatatan kesalahan PHP jika Anda secara aktif mengembangkan situs Anda untuk membantu pemecahan masalah. Jika Anda mengalami kesalahan 'halaman putih kematian' yang ditakuti (kesalahan yang memuat halaman kosong dan tidak memberi tahu Anda tentang apa yang salah). Atau "500 kesalahan" yang tidak masuk ke log kesalahan Apache seperti kesalahan tingkat 'nyata' 500, maka Anda harus mengaktifkan pencatatan kesalahan PHP untuk situs Anda untuk menemukan kesalahan skrip. Melakukannya akan menyebabkan kesalahan PHP dicatat di lokasi yang Anda pilih sehingga Anda dapat menentukan apa yang menyebabkan kesalahan dan bekerja untuk memperbaikinya
Merencanakan Pengaturan Apa yang Akan Digunakan
Anda harus memutuskan pengaturan log apa yang perlu Anda atur sebelum mengaktifkan. Sebagian besar waktu, Anda hanya akan memilih agar kesalahan PHP dicatat ke log pribadi di lokasi yang Anda tentukan. Jika situs tidak aktif, Anda juga dapat memilih agar kesalahan ditampilkan di situs di browser. CATATAN. Menampilkan error PHP di situs aktif adalah masalah keamanan, jadi jangan aktifkan setelan ini di situs aktif. Berikut adalah pengaturan yang disarankan untuk situs langsung
log_errors = on error_log = /path/to/docroot/error_log display_errors = offSetelan yang direkomendasikan untuk situs pengembangan yang tidak aktif ada di bawah
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_Kedua contoh yang ditampilkan di atas tidak menyertakan jalur yang sebenarnya. Anda mungkin harus membuat file error_log, mengganti '/path/ke/docroot/error_log' dengan jalur yang tepat ke file. Saya biasanya menempatkan ini di public_html, dan kemudian juga membuat. aturan htaccess untuk mencegah akses tidak sah ke log ini. Lanjutkan dan tentukan pengaturan apa yang akan Anda gunakan
Membuat Log Kesalahan
Akses root
Untuk membuat file di bawah pengguna cPanel 'cp_user', Anda akan melakukan hal berikut sebagai root pengguna melalui SSH (root dokumen untuk sebagian besar domain utama yang dihosting cPanel adalah public_html)
cd /home/cp_user/public_html touch error_log chown cp_user: error_logSelain itu, pastikan bahwa log dapat ditulis oleh pengguna (izin 644 sudah cukup untuk sebagian besar sistem KnownHost). Lakukan hal berikut untuk melihat file
ls -lah /home/cp_user/public_html/error_logIzin harus dibaca sebagai berikut jika diatur ke 644
-rw-r--r--_Akses Pengguna cPanel
Jika Anda tidak memiliki akses root dan perlu melakukan perubahan ini sebagai pengguna cPanel, ada beberapa cara untuk melakukannya. Anda dapat menggunakan Pengelola File cPanel, FTP, atau SSH jika pengguna cPanel memiliki akses SSH. Mari gunakan File Manager
Masuk ke akun cPanel pengguna Anda di URL berikut (menggantikan domainanda. tld dengan domain Anda yang sebenarnya)
https. //domainanda. tld/cpanel
Navigasi sebagai berikut
Klik Ikon Manajer File
Jendela baru akan terbuka menampilkan sistem file. Di pojok kiri atas, Anda akan melihat ikon untuk menambahkan file dan direktori
Klik tombol "+ File" untuk membuat file baru. Kotak dialog baru akan terbuka. Anda akan memasukkan detail file yang akan dibuat di sini
Klik tombol untuk membuat file
Selanjutnya, Anda dapat menggunakan navigasi di paling kiri untuk mengubah ke direktori yang seharusnya berisi file untuk mengonfirmasi bahwa file tersebut memang dibuat dan memiliki izin yang sesuai.
Cara Mengaktifkan Log Kesalahan PHP
Pertama, Anda perlu memutuskan apakah Anda harus mengaktifkan PHP error logging melalui php. file ini atau melalui. htaccess. Ini akan tergantung pada PHP Handler apa yang Anda gunakan. Untuk mengetahui PHP Handler apa yang Anda gunakan dengan server cPanel, jalankan perintah berikut sebagai pengguna root melalui SSH
/usr/local/cpanel/bin/rebuild_phpconf --current_Jika Anda menggunakan beberapa versi PHP, Anda mungkin perlu menentukan versi PHP apa yang digunakan situs Anda untuk menentukan penangan PHP yang benar
Jika Anda kekurangan akses root, Anda dapat mengunggah file phpinfo ke situs Anda, lalu memeriksanya untuk menentukan PHP Handler Anda saat ini. Untuk melakukannya, login ke cPanel, arahkan ke File Manager, klik tombol untuk menambahkan file, beri nama file phpinfo. php, dan tambahkan konten berikut
<?php phpinfo(); ?>Sekarang, kunjungi phpinfo situs Anda. halaman php di browser
https. //situsmu. tld/phpinfo. php
Cari “Server API”. Jika Anda melihat “Apache 2. 0 Handler”, maka Anda menggunakan DSO. Jika Anda melihat “CGI/FastCGI” atau “CGI”, kemungkinan besar Anda menggunakan suPHP, CGI, atau FastCGI
Contoh. suPHP, CGI, FastCGI akan ditampilkan. "Server API" ada di dekat bagian atas halaman phpinfo
Contoh. DSO sedang digunakan saat “Apache 2. 0 Handler” ditampilkan di sebelah “Server API” di halaman phpinfo
suPHP
Jika Anda menggunakan suPHP, maka Anda ingin mengaktifkan logging melalui php. ini seperti yang ditunjukkan di bawah ini (perhatikan bahwa Anda ingin mengedit display_errors sesuai dengan itu)
log_errors = on error_log = /path/to/docroot/error_log display_errors = offJika php. Ini dan file log kesalahan tidak ada, Anda ingin membuat keduanya dan pastikan untuk mengubah kepemilikan keduanya kepada pengguna. php. ini dapat dibuat dengan cara yang sama seperti error_log seperti yang ditunjukkan pada bagian sebelumnya. Jika kedua file ini sudah ada, maka Anda harus membuat cadangan masing-masing sebelum melakukan perubahan. Anda dapat membuat cadangan file-file ini menggunakan perintah cp sebagai pengguna root seperti yang ditunjukkan di bawah ini
cp -a /path/to/file /path/to/file.backup_Perintah ini membuat salinan file dengan kepemilikan dan izin saat ini dengan '. cadangan’ ekstensi
Anda dapat melakukannya di Manajer File cPanel dengan terlebih dahulu memilih file untuk membuat cadangan, lalu klik ikon "Salin" di bilah alat. Masukkan nama file diikuti dengan '. bak’ saat diminta untuk lokasi penyalinan file
Klik "Salin File" dan file akan disalin dengan nama baru di lokasi yang ditentukan
Setelah membuat salinan dari file error_log dan php. Ini, Anda dapat melanjutkan untuk mengeditnya sesuai kebutuhan. Karena Anda memiliki cadangan error_log, Anda dapat memutuskan untuk menghapusnya sebelum mulai menulis lagi. Jika demikian, Anda dapat melakukannya dengan perintah berikut sebagai pengguna root
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_0Jika Anda menggunakan File Manager, cukup hapus dan buat ulang file tersebut
Setelah Anda mengedit php. Ini dengan perincian di atas yang sesuai dan buat log kesalahan, Anda akan mulai melihat kesalahan yang ditulis ke file segera setelah dipicu
DSO
Jika Anda menggunakan DSO, maka Anda ingin mengaktifkan logging melalui. htaccess seperti yang ditunjukkan di bawah ini menggunakan arahan php_flag dan php_value
Ini juga merupakan ide bagus untuk membuat cadangan file. htaccess jika ada sebelum melakukan perubahan. Anda dapat membuat cadangan file menggunakan perintah cp sebagai pengguna root seperti yang ditunjukkan di bawah ini
cp -a /path/to/file /path/to/file.backup_Perintah ini membuat salinan file dengan kepemilikan dan izin saat ini dengan '. cadangan’ ekstensi
Anda dapat melakukannya juga di Manajer File cPanel dengan terlebih dahulu memilih file untuk membuat cadangan, lalu klik ikon "Salin" di bilah alat. Masukkan nama file diikuti dengan '. bak’ saat diminta untuk lokasi penyalinan file. Klik "Salin File" dan file akan disalin dengan nama baru di lokasi yang ditentukan. Kemudian Anda dapat melanjutkan untuk mengedit. htaccess dengan arahan error logging dicatat
Jika error_log sudah ada, Anda juga dapat membuat cadangannya, lalu menghapusnya dan membuatnya kembali dengan izin dan kepemilikan yang benar sehingga kosong. Untuk mengosongkan error_log sebagai root, Anda bisa menjalankan perintah ini
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_0Segera setelah melakukan perubahan seperti itu, saya selalu melihat log kesalahan Apache dan memuat ulang situs (hanya untuk memastikan saya tidak merusak situs karena salah ketik atau kesalahan lainnya). Untuk melihat log kesalahan Apache, gunakan perintah berikut melalui SSH sebagai pengguna root
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_4Jika ada kesalahan yang dibuat yang akan berdampak buruk pada situs, kesalahan tersebut akan dicatat di sini saat memuat ulang situs (ini bukan kejadian umum, tetapi selalu baik untuk memeriksanya)
Jika Anda tidak memiliki akses root, lanjutkan dan muat ulang situs untuk memastikannya tidak rusak setelah melakukan perubahan ini. Ingatlah untuk menghapus cache browser Anda atau gunakan browser baru agar cache browser tidak memengaruhi hasil
Terakhir, untuk menonaktifkan akses ke log kesalahan Anda, Anda dapat menambahkan yang berikut ini ke file. htaccess
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_5Menguji Perubahan Anda
Anda mungkin ingin menguji dan memastikan bahwa log kesalahan Anda berfungsi seperti yang diinginkan, terutama jika Anda memecahkan masalah kesalahan yang hanya terjadi sebentar-sebentar dan Anda tidak dapat memicunya sesuai permintaan. Anda akan ingin memastikan bahwa log kesalahan mencatat kesalahan secara efektif sehingga Anda dapat merekam kesalahan saat terjadi berikutnya. Pertama, buat skrip PHP baru sebagai pengguna root dan berikan kepemilikan yang benar (ubah 'cp_user' menjadi pengguna cPanel Anda)
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_6Edit file dengan konten berikut
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_7Sekarang, perhatikan log kesalahan dan muat skrip Anda di browser
log_errors = on error_log = /path/to/docroot/error_log display_errors = on_8Jika situs Anda adalah situs saya. tld, maka Anda akan mengunjungi situs saya. tld/error_logging_test. php di browser. Ini akan memicu kesalahan yang ditentukan dalam skrip untuk ditulis ke log kesalahan yang telah kami aktifkan. Anda sekarang akan melihat kesalahan muncul di log kesalahan jika pencatatan kesalahan berfungsi dengan benar
Anda dapat melakukan hal yang sama seperti pengguna cPanel menggunakan File Manager. Anda akan membuat file baru bernama “error_logging_test. php”, tambahkan konten di atas, dan simpan. Anda kemudian akan menguji skrip dengan mengunjungi situs saya. tld/error_logging_test. php di browser (menggantikan my-site. tld dengan domain Anda yang sebenarnya). Anda seharusnya sekarang dapat memeriksa error_log dan melihat apakah ada kesalahan yang dihasilkan dengan mengunjungi skrip. Jika demikian, maka pencatatan kesalahan berfungsi seperti yang diharapkan. Jika tidak, silakan buka tiket dukungan dan kami akan dengan senang hati membantu