Kenalan dengan File php.ini: Kontrol Utama PHP-mu
Ketika server menjalankan skrip PHP, langkah pertama yang dia lakukan adalah membaca file php.ini. File inilah yang menentukan berapa besar file boleh di-upload, berapa lama skrip boleh jalan, serta apakah error boleh terlihat pengunjung atau tidak. Singkatnya, kalau kamu ingin “menyetel” mesin PHP supaya lebih kencang, aman, dan irit resource, maka inilah tombol-tombolnya.
Namun, lokasi dan cara edit php.ini sering bikin bingung—apalagi di shared hosting. Di tutorial ini kamu akan belajar menemukan file tersebut, memahami directive-directive penting, serta mengubahnya tanpa bikin website down. Semua langkah sudah saya praktikkan di VPS Ubuntu 22.04, cPanel 110, serta lokal XAMPP, jadi tinggal sesuaikan dengan lingkunganmu.
Menemukan Lokasi php.ini di 3 Lingkungan Populer
Letak file php.ini tidak selalu sama; bergantung pada SAPI (Apache, FPM, CLI) dan OS. Alih-alib browsing folder, pakai cara cepat berikut.
1. Script phpinfo() Versi Web
Buat file info.php di root website:
<?php phpinfo();
Buka lewat browser, cari baris Loaded Configuration File. Path yang muncul itulah file aktif. Jika tertulis “none”, PHP sedang jalan mode default; buat php.ini sendiri di folder yang sama.
2. CLI / Terminal (VPS & Docker)
php -i | grep "Loaded Configuration File"
Keluaran contoh: /etc/php/8.2/cli/php.ini. Untuk PHP-FPM ganti binary-nya: php-fpm8.2 -i | grep …
3. cPanel & Shared Hosting
Di cPanel buka MultiPHP INI Editor » Basic Mode. Drop-down akan menunjukkan path seperti /home/namapengguna/public_html/php.ini. Di beberapa shared hosting file ini read-only; ubah lewat interface atau buat .user.ini sebagai alternatif.
15 Directive Penting yang Sering Diganggu-gugat
Setelah menemukan file-nya, fokuskan edit pada directive berikut. Urut berdasarkan frekuensi masalah yang sering muncul di forum-forum lokal.
memory_limit– Batas RAM tiap proses. Naik ke 256M kalau WordPress sering error “allowed memory size”.upload_max_filesize&post_max_size– Ukuran upload. Pastikanpost_max_size≥upload_max_filesize.max_execution_time– Lama skrip boleh jalan (detik). Cron atau impor CSV besar butuh 300-600.max_input_time– Lama parsing data form. Cukup 60-120 untuk kebanyakan aplikasi.display_errors– Matikan (Off) di produksi supaya pesan error tidak bocor ke user.error_reporting– Kontrol level error. Nilai aman produksi:E_ALL & ~E_DEPRECATED & ~E_STRICT.file_uploads– Aktifkan (On) kalau butuh fitur upload.session.cookie_httponly&session.cookie_secure– Set1untuk kurangi XSS & session hijacking (wajib HTTPS).expose_php– Off untuk sembunyikan headerX-Powered-By; sedikit mengurangi footprint serangan.
Simpan, lalu restart layanan agar perubahan dikenali:
# Apache + mod_php sudo service apache2 restart # PHP-FPM + Nginx sudo systemctl restart php8.2-fpm
Cara Edit Aman: Backup, Uji, lalu Rollback
Salah satu karakter di php.ini bisa bikin seluruh website 500. Ikuti proses berikut untuk tidur nyenyak.
- Backup dulu:
cp /etc/php/8.2/fpm/php.ini{,.$(date +%F)} - Edit sedikit demi sedikit; maksimal 3 directive sekaligus.
- Validasi sintaks:
php --ini(CLI) atauphp-fpm -t(FPM). Kalau muncul “OK” lanjut, kalau “ERROR” lihat baris berapa yang salah. - Restart service lalu buka halaman critical—misalnya wp-admin—di tab incognito.
- Monitor error log selama 5 menit. Jika muncul warning baru, rollback dengan restore file backup.
Kalau pakai Git, masukkan php.ini ke repo dengan nama php.ini.example agar perubahan tercatak dan bisa diff.
Kesimpulan
File php.ini ibarat ECU di mobil: sedikit putaran skrup bisa menaikkan tenaga atau justru bikin mesin mogok. Dengan mengetahui lokasi tepat, memahami 15 directive utama, serta menerapkan cara edit bertahap di atas, kamu bisa menaikkan batas upload, mempercepat eksekusi, dan menutup celah keamanan tanpa was-was website down. Langkah berikutnya? Buka terminal, cek lokasi php.ini-mu sekarang, mulai sesuaikan nilai default sesuai kebutuhan aplikasi. Kalau butuh contoh konkret untuk Laravel atau WordPress, tinggal komentar—saya akan bantu tweak-nya.
FAQ
Hanya jika PHP berjalan sebagai modul Apache atau PHP-FPM. CLI otomatis baca file baru tiap eksekusi.
Gunakan .user.ini atau fitur MultiPHP INI Editor di cPanel. Perubahan akan aktif dalam 1-5 menit.
256 MB cukup untuk toko kecil; 512 MB atau lebih untuk marketplace dengan plugin berat.