PHP (Hypertext Preprocessor) adalah bahasa pemrograman populer yang beroperasi sebagai backend aplikasi web yang Anda buat. Proses PHP inilah yang menjadikan scrip website Anda dapat dijalankan pada web server, sehingga dapat ditampilkan secara langsung melalui browser. Di panduan ini, kami akan membahas tentang PHP function di cPanel agar website Anda dapat diakses dengan baik.
Dalam beberapa kasus, website tidak dapat berjalan dengan semestinya disebabkan oleh adanya function php tertentu yang statusnya di disable atau di nonaktifkan. Hal ini bisa menyebabkan website Anda menjadi error, atau fungsi tertentu pada website tidak dapat digunakan dengan baik.
Contohnya, script website Anda membutuhkan function readfile() agar website dapat tampil dengan baik. Ketika function readfile() di disable pada hosting, hal ini menyebabkan website anda akan berantakan ketika diakses atau tidak sesuai dengan yang dikehendaki. Karena itu, Anda perlu mengatur function php di hosting atau server, agar website dapat berjalan dengan semestinya.
Panduan ini, kami akan menjelaskan tentang apa itu PHP function dan bagaimana cara mengelolanya di cPanel, khususnya jika Anda memiliki VPS dengan WHM sebagai panel hosting.
Apa itu PHP Function
PHP function adalah kode pemrograman php yang dibuat untuk menyelesaikan tugas tertentu, yang merupakan bagian dari program utama yang kita buat. Kita dapat menggunakan function tertentu, agar website yang kita buat dapat berjalan dengan baik.
PHP function mengalami perubahan pada setiap versi php, sehingga kita perlu melakukan update function tertentu apabila di versi php yang kita gunakan statusnya telah deprecated.
Contoh PHP function sebagai berikut:
- mail()
- smtp()
- symlink()
- shell_exec()
- exec()
- popen()
- system()
- passthru()
- escapeshellarg()
- escapeshellcmd()
- show_source()
- pcntl_exec()
- dll
Mengenal Disable Function
Secara sederhana, disable function artinya adalah menonaktifkan fungsi PHP agar tidak dapat digunakan sebagaimana mestinya. Ada beberapa alasan kenapa kita perlu melakukan disable function php, seperti alasan agar performa server dapat berjalan lebih baik hingga faktor keamanan.
Ada beberapa fungsi php yang sebaiknya di disable, seperti function berikut:
“system,exec,mail,readfile,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,fpassthru, posix_getpwuid“.
Dapat dibayangkan jika ternyata website yang Anda buat memiliki kerentanan keamanan dari sisi script, sehingga dapat dengan mudah di exploitasi orang lain. Atau resiko dari aktifnya php function yang dapat berkomunikasi secara langsung dengan server, menyebabkan peretas bisa mengambil alih server anda melalui function tersebut. Tentu hal ini sangat berbahaya dan kita tidak ingin hal tersebut terjadi.
Oleh karena itu, Kami sarankan agar Anda tetap menggunakan disable function php disisi hosting atau server, agar kelalaian disisi user maupun script tidak menyebabkan server menjadi korban peretasan.
Cara Disable / Enable Function PHP di cPanel
Kami akan menjelaskan cara disable atau enable function PHP di cPanel.
Bagi Anda yang menggunakan layanan shared hosting, kami sarankan agar Anda dapat berkomunikasi atau bertanya terlebih dahulu ke support penyedia hostingnya terkait function apa saja yang di disable. Sehingga kedepan apabila Anda membutuhkan function tertentu, anda bisa mengajukan permohonan ke support hostingnya untuk bantuan disable atau enable.
Bagi pengguna layanan hosting Rumahweb, secara default Anda tidak diberikan akses ke WHM untuk mengelola sendiri disable functionnya. Sehingga Anda tidak bisa mengelola secara mandiri disable function di hosting.
Selain itu, kami menerapkan disable function sebagai langkah keamanan pada akun hosting Anda. Namun, apabila Anda membutuhkan function tertentu yang statusnya di disable, Anda masih bisa merequest untuk aktivasi php function melalui Trouble Ticket.
Secara umum, hanya ada 1 php function yang statusnya tidak bisa kami open yaitu mail(). Function mail() berfungsi untuk mengirimkan email secara langsung melalui website. Fungsi ini cukup berbahaya ketika diaktifkan, karena menjadi salah satu faktor penyabab IP mail server terblock oleh layanan antispam.
Sebagai informasi, Server hosting di Rumahweb menggunakan sistem operasi Cloudlinux yang lebih advanced terhadap keamanan. System hardening yang berada di Cloudlinux lebih baik, sehingga disable function dapat diaktifkan hanya pada user tertentu secara terisolasi.
VPS cPanel
Bagi Anda pengguna layanan VPS dengan lisensi cPanel, Anda dapat mengelola secara mandiri disable function melalui WHM. Berikut langkah-langkahnya.
- Login WHM melalui Hostname atau IP VPS seperti contoh https://10.10.10.1/whm
- Pada halaman WHM, silahkan akses menu Software > MultiPHP INI Editor.
Settingan yang Anda terapkan di MultiPHP INI Editor akan berlaku untuk semua users hosting yang aktif menggunakan versi PHP tersebut, contoh diatas versi PHP 7.4.
Apabila Anda ingin terapkan Disable funtion perUser tertentu, Anda bisa memanfaatkan PHP-FPM di WHM. Silahkan ikuti langkah-langkah dibawah:
- Akses menu MultiPHP Manager > User Domain Settings, seperti gambar dibawah:
- Cari username akun cPanel yang ingin ditambahkan atau menghapus disable function tersebut. Kemudian Anda pilih versi PHP yang akan digunakan dan geser toggle FPM menjadi Enabled seperti gambar dibawah. Selanjutnya klik tombol PHP-FPM Settings:
- Pada kolom Disable Functions, silahkan tambahkan atau hapus yang diperlukan kemudian klik tombol Update untuk simpan settingan.
Setelah proses diatas selesai dilakukan maka disable functionnya mulai efektif. Anda bisa coba jalankan script PHPnya yang sebelumnya terkendala disable function.
Itu dia penjelasan singkat kami tentang PHP function dan cara kelola melalui fitur MultiPHP INI Editor di cPanel/WHM. Semoga bermanfaat!