Optimasi server melalui setting php.ini

php.ini adalah file konfigurasi utama untuk PHP. File ini biasanya digunakan untuk mengatur bagaimana PHP bekerja dan berperilaku ketika dijalankan di server, misalnya mengatur batas memori, ukuran upload file, timezone, error reporting, ekstensi apa saja yang digunakan dan fungsi-fungsi yang lain.

Pada kesempatan ini, kami ingin berbagi sedikit tips untuk optimasi server untuk hosting website melalui setting php.ini, langsung saja sobat ku, Berikut ini tipe dan panduan optimasi server lewat pengaturan php.ini agar PHP lebih cepat, stabil, dan efisien. Saya sertakan rekomendasi yang umum dipakai di production, plus penjelasannya.


1. Optimasi Performa Dasar

✔ Aktifkan dan optimalkan OPcache

OPcache adalah cara paling efektif meningkatkan performa PHP.

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.fast_shutdown=1

Catatan:

  • validate_timestamps=0 cocok untuk production (harus restart PHP-FPM setelah update).
  • Untuk development, set: opcache.validate_timestamps=1 opcache.revalidate_freq=1

2. Optimasi PHP-FPM (Jika pakai Nginx / PHP-FPM)

Konfig di php.ini:

; Kurangi overhead
realpath_cache_size=4096K
realpath_cache_ttl=600

Sangat membantu untuk CMS seperti WordPress, WooCommerce, Laravel atau CMS lain.


3. Memory & Resource Limits

memory_limit=512M
max_execution_time=60
max_input_vars=3000
post_max_size=32M
upload_max_filesize=32M

Sesuaikan dengan kebutuhan aplikasi anda, misalnya:

  • hosting kecil: memory_limit=256M
  • WordPress/WooCommerce: 512M – 1024M
  • Laravel besar: 512M – 2G

4. Error Handling (untuk Production)

display_errors=0
log_errors=1
error_log=/var/log/php_errors.log
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

Alasan: error tidak ditampilkan secara public ke pengunjung (aman), tapi tetap tercatat di log.


5. Session Optimasi

session.gc_maxlifetime=3600
session.use_strict_mode=1
session.cookie_httponly=1
session.cookie_secure=1

Jika memakai HTTPS, cookie_secure=1 penting untuk keamanan.


6. Disable Fungsi Berbahaya

Berguna untuk security hardening:

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source

Sesuaikan, jangan asal disable jika aplikasi membutuhkan.


7. File I/O Optimasi (opsional untuk website besar)

; Kurangi parsing di setiap request
auto_detect_line_endings=0

; Buffer optimasi
output_buffering=4096
zlib.output_compression=On
zlib.output_compression_level=6

Compression membantu mempercepat transfer HTML ke klien.


🔥 8. Contoh php.ini Production Optimized (Rekomendasi Siap Pakai)

[PHP]
memory_limit=512M
max_execution_time=60
max_input_vars=3000
post_max_size=32M
upload_max_filesize=32M
display_errors=0
log_errors=1
error_log=/var/log/php_errors.log
output_buffering=4096

[Session]
session.gc_maxlifetime=3600
session.use_strict_mode=1
session.cookie_httponly=1
session.cookie_secure=1

[OPcache]
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.fast_shutdown=1

[Misc]
realpath_cache_size=4096K
realpath_cache_ttl=600
zlib.output_compression=On
zlib.output_compression_level=6

Note:

Selain tips pada artikel diatas yang sudah kami bagikan, bukanlah satu-satu strategi. Namun juga perlu memperhatikan spesifikasi server yang di gunakan. Oleh sebab itu, semua harus memperhatikan beberapa komponen di bawah ini

  1. Jenis server
    • Apache / Nginx?
    • PHP-FPM atau mod_php?
    • Nginx + PHP-FPM
    • Apache + PHP-FPM
    • Litespeed / OpenLiteSpeed
    • FrankenPHP
    • dan custom lainnya…
  2. Jenis aplikasi
    • WordPress?
    • Laravel?
    • Custom PHP?
  3. Spesifikasi server
    • CPU berapa core?
    • RAM berapa GB?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *