Cara membaca phpinfo() adalah langkah esensial bagi pengembang web dan administrator server untuk memeriksa konfigurasi PHP yang sedang berjalan, mendiagnosis masalah kompatibilitas, serta memverifikasi modul dan ekstensi yang aktif. Fungsi phpinfo() menghasilkan laporan komprehensif berbasis HTML yang merinci seluruh aspek lingkungan PHP pada peladen web Anda.
Untuk mengaksesnya, Anda cukup membuat file PHP sederhana (misalnya info.php) di direktori root server dengan baris kode <?php phpinfo(); ?>, lalu membukanya melalui peramban web di alamat http://namadomain.com/info.php. Setelah halaman terbuka, Anda akan dihadapkan pada tabel-tabel data masif yang dikelompokkan ke dalam beberapa bagian utama.
Bagian Utama dalam Halaman phpinfo()
Halaman phpinfo terbagi menjadi beberapa blok informasi penting yang wajib Anda pahami saat melakukan audit atau pemecahan masalah sistem:
| Bagian / Blok | Fungsi dan Informasi Utama | Contoh Parameter Kritis |
|---|---|---|
| PHP Version | Menunjukkan nomor versi PHP yang aktif beserta build sistem operasi. | PHP Version 8.2.14, Apache/2.4.58 |
| System | Informasi OS server, arsitektur, tanggal, dan waktu sistem. | Linux server 5.15.0 x86_64 |
| Build Date | Tanggal dan waktu kompilasi binary PHP. | Dec 18 2023 15:20:10 |
| Configuration File (php.ini) Path | Lokasi direktori tempat file konfigurasi utama php.ini disimpan. |
/etc/php/8.2/apache2/php.ini |
| Loaded Configuration File | File php.ini spesifik yang sedang dibaca dan dieksekusi oleh server. |
/etc/php/8.2/apache2/php.ini |
| Directive / Core | Pengaturan inti PHP seperti batas memori, ukuran unggahan, dan eksekusi skrip. | memory_limit, post_max_size, max_execution_time |
| Registered Stream Handlers | Daftar protokol dan filter aliran data yang didukung oleh PHP. | http, https, ftp, file, zlib, zip |
Parameter Penting yang Sering Dicari
Saat melakukan debugging atau migrasi skrip seperti WordPress, Laravel, atau CodeIgniter, ada beberapa parameter spesifik yang wajib Anda periksa melalui fungsi pencarian peramban (Ctrl+F):
- memory_limit: Menentukan jumlah maksimum memori RAM yang diizinkan untuk digunakan oleh sebuah skrip PHP. Jika aplikasi sering mengalami error "Allowed memory size exhausted", nilai ini harus ditingkatkan di dalam file
php.ini. - upload_max_filesize: Batas ukuran maksimum file tunggal yang diizinkan untuk diunggah melalui form PHP.
- post_max_size: Ukuran maksimum total data POST yang dapat dikirimkan melalui HTTP. Nilai ini wajib lebih besar atau minimal sama dengan
upload_max_filesize. - max_execution_time: Batas waktu maksimum (dalam detik) sebuah skrip PHP diperbolehkan berjalan sebelum dihentikan secara paksa oleh server.
- Loaded Extensions: Daftar modul tambahan yang aktif, seperti MySQLi, PDO, cURL, GD, OpenSSL, dan Mbstring. Pastikan ekstensi yang dibutuhkan oleh framework atau CMS Anda telah aktif di bagian ini.
Perbedaan Nilai Local Value dan Master Value
Di dalam tabel konfigurasi phpinfo, Anda akan melihat dua kolom nilai yang sering membingungkan, yaitu Master Value dan Local Value:
- Master Value: Nilai konfigurasi global yang didefinisikan secara langsung di dalam file utama
php.iniserver. Nilai ini berlaku untuk seluruh direktori kecuali ditimpa oleh konfigurasi lokal. - Local Value: Nilai konfigurasi yang sedang aktif dan berlaku pada direktori tempat skrip phpinfo tersebut dieksekusi. Nilai ini bisa berubah jika terdapat konfigurasi tambahan melalui file
.htaccess, direktori virtual host, atau fungsiini_set()di dalam kode.
Jika terjadi perbedaan antara kedua kolom tersebut pada parameter tertentu, periksa kembali apakah ada aturan tambahan di tingkat direktori aplikasi Anda.
Langkah Keamanan Penting Setelah Penggunaan
File phpinfo() memaparkan informasi sensitif mengenai arsitektur server, versi perangkat lunak, path direktori, hingga modul yang terpasang. Data ini sangat berharga bagi pihak tak bertanggung jawab untuk memetakan celah keamanan (vulnerability mapping).
Oleh karena itu, terapkan prosedur keamanan berikut setelah selesai membaca dan menganalisis phpinfo:
- Segera hapus file
info.phpatauphpinfo.phpdari direktori publik server Anda. - Jika file tersebut harus tetap ada untuk keperluan monitoring internal, pastikan Anda melindunginya dengan autentikasi kata sandi melalui konfigurasi web server (seperti
.htpasswdpada Apache atau pembatasan alamat IP pada Nginx). - Jangan pernah membiarkan file phpinfo dapat diakses secara publik pada lingkungan produksi (production server).