Tutorial Lengkap: Cara Edit File PHP.ini & Parameter Utamanya

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. Pastikan post_max_sizeupload_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 – Set 1 untuk kurangi XSS & session hijacking (wajib HTTPS).
  • expose_php – Off untuk sembunyikan header X-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.

  1. Backup dulu: cp /etc/php/8.2/fpm/php.ini{,.$(date +%F)}
  2. Edit sedikit demi sedikit; maksimal 3 directive sekaligus.
  3. Validasi sintaks: php --ini (CLI) atau php-fpm -t (FPM). Kalau muncul “OK” lanjut, kalau “ERROR” lihat baris berapa yang salah.
  4. Restart service lalu buka halaman critical—misalnya wp-admin—di tab incognito.
  5. 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

Apakah perlu restart server setiap kali edit php.ini?

Hanya jika PHP berjalan sebagai modul Apache atau PHP-FPM. CLI otomatis baca file baru tiap eksekusi.

Di shared hosting tidak ada akses php.ini, bagaimana?

Gunakan .user.ini atau fitur MultiPHP INI Editor di cPanel. Perubahan akan aktif dalam 1-5 menit.

Berapa nilai memory_limit ideal untuk WordPress?

256 MB cukup untuk toko kecil; 512 MB atau lebih untuk marketplace dengan plugin berat.

References

Saya Sang Putu Jaya Anggara Putra, seorang digital marketing yang tinggal di Denpasar, Bali. Saya menjalankan Jay.Foll, sebuah panel media sosial yang inovatif, dan juga bekerja sebagai webmaster utama di PT Mousmedia Bali, agensi pemasaran digital yang membantu bisnis tampil lebih baik di dunia digital.