[cPanel/WHM] – Solusi PHP Deprecated: Directive allow_url_include is deprecated in Unknown on line 0

[cPanel/WHM] - Solusi PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0'

Apakah Anda menemui pesan peringatan PHP yang berbunyi PHP Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0? Jangan khawatir, pesan ini adalah indikasi bahwa salah satu pengaturan PHP yang lama (‘directive’) tidak lagi direkomendasikan pada versi PHP yang Anda gunakan saat ini dan akan dihapus pada versi PHP mendatang. Pesan ini muncul sebagai peringatan bagi pengembang atau administrator untuk menghentikan penggunaan pengaturan tersebut.

Memahami allow_url_include dan Mengapa Deprecated

Directive allow_url_include adalah pengaturan dalam konfigurasi PHP yang, bila diaktifkan (On), memungkinkan skrip PHP untuk menyertakan (include, require, includeonce, requireonce) file dari lokasi jarak jauh menggunakan URL (misalnya, include('http://example.com/remote_script.php')).

Fitur ini sangat tidak direkomendasikan dari sudut pandang keamanan karena dapat membuka celah bagi serangan injeksi file jarak jauh (Remote File Inclusion – RFI). Attacker dapat memanfaatkan celah ini untuk menjalankan kode berbahaya di server Anda dengan cara mengarahkan skrip PHP untuk menyertakan berkas dari URL eksternal yang mereka kontrol.

Oleh karena itu, pengaturan ini telah ditandai sebagai ‘deprecated’ atau usang pada versi PHP yang lebih baru (mulai PHP 5.2) dan nilai default-nya berubah. Pesan peringatan yang Anda lihat adalah cara PHP memberi tahu Anda bahwa pengaturan ini masih aktif atau ada di konfigurasi, meskipun seharusnya tidak lagi digunakan.

Langkah-langkah Mengatasi Pesan Peringatan PHP Deprecated

Untuk mengatasi pesan peringatan ini, Anda perlu menemukan di mana pengaturan allow_url_include ini diaktifkan dan menghapus atau menonaktifkan baris kode tersebut. Pengaturan ini biasanya ditemukan di file konfigurasi PHP utama, yaitu php.ini, atau di file konfigurasi per-direktori seperti .user.ini. Lokasi file-file ini bisa berbeda tergantung pada konfigurasi server dan cara PHP diinstal.

Berikut adalah cara umum untuk mencari dan memperbaiki:

Melalui SSH (Akses Command Line)

Jika Anda memiliki akses SSH ke server Anda, Anda bisa menggunakan perintah grep untuk mencari file yang mengandung string allow_url_include. Navigasi ke direktori utama akun hosting Anda atau root dokumen website Anda (misalnya, /home/namauser/public_html/). Gunakan perintah seperti:
bash

Perintah ini akan mencari secara rekursif ( -r ) string “allow_url_include” di semua file mulai dari direktori saat ini ( . ). Perhatikan nama file dan lokasi yang muncul di hasil pencarian.

Melalui File Manager di Control Panel

Buka File Manager yang disediakan oleh penyedia hosting Anda. Navigasi ke root direktori website Anda (biasanya bernama public_html, atau www). Gunakan fitur ‘Search’ atau ‘Temukan’ (biasanya ada di pojok kanan atas atau di menu) dan masukkan allow_url_include sebagai kata kunci pencarian. Beberapa File Manager juga memungkinkan Anda mencari nama file tertentu seperti .user.ini

Setelah Anda menemukan file yang mengandung baris allow_url_include (kemungkinan besar php.ini atau .user.ini), gunakan editor teks di File Manager atau melalui SSH (misalnya, nano, vim) untuk membuka file tersebut.

Temukan baris yang terlihat seperti:

menjadi berikut: (Meskipun nilainya Off, adanya baris ini di file php.ini lama tetap bisa memicu pesan deprecated di PHP versi baru jika default-nya berubah)

Dalam banyak kasus, perubahan pada file .user.ini akan segera aktif pada permintaan PHP berikutnya. Untuk perubahan pada file php.ini utama, mungkin perlu beberapa saat (hingga 5-10 menit) agar server web atau layanan PHP memuat ulang konfigurasi baru. Jika pesan peringatan masih muncul setelah menunggu, Anda mungkin perlu me-restart service PHP-FPM atau web server (Apache/LiteSpeed/Nginx) jika Anda memiliki hak akses untuk itu melalui control panel atau SSH. Jika Anda tidak yakin atau tidak memiliki akses untuk restart, coba tunggu beberapa saat lagi atau hubungi penyedia hosting Anda untuk meminta mereka memuat ulang konfigurasi PHP Anda.

Downgrade PHP

Pada error PHP Deprecated: Directive ‘allow_url_include’ is deprecated in Unknown on line 0′ sebenarnya disebabkan karena fungsi ini sudah dimatikan pada PHP 7.4. Solusinya adalah mengupdate skrip atau menurunkan versi PHP (Downgrade).

Pengaturan di dalam Kode Skrip

Jika setelah melakukan langkah-langkah di atas dan memastikan tidak ada baris allow_url_include di php.ini atau .user.ini di seluruh direktori website Anda, tetapi pesan peringatan masih muncul, ada kemungkinan allow_url_include diatur langsung di dalam kode skrip PHP aplikasi Anda menggunakan fungsi ini_set().

Fungsi ini memungkinkan pengaturan konfigurasi PHP diubah secara langsung dalam skrip. Dalam kasus ini, Anda perlu meninjau kode aplikasi Anda untuk menemukan dan menghapus baris yang terlihat seperti:

Atau dengan nilai lainnya. Hapus baris tersebut dari kode aplikasi Anda.

Kesimpulan

Dengan menghapus atau menonaktifkan directive allow_url_include dari konfigurasi PHP Anda, Anda tidak hanya menghilangkan pesan peringatan yang mengganggu, tetapi yang lebih penting, Anda meningkatkan keamanan aplikasi web Anda secara signifikan dengan menutup celah potensial untuk serangan Remote File Inclusion. Tindakan ini adalah langkah penting untuk memastikan bahwa aplikasi Anda berjalan pada lingkungan PHP yang lebih aman dan sesuai dengan praktik terbaik modern.

Table of Contents