Panduan Konfigurasi PHP ServBay: Menyesuaikan php.ini, PHP-FPM, dan Modul Ekstensi
ServBay menyediakan lingkungan pengembangan PHP lokal yang kuat dan fleksibel bagi para pengembang web. Untuk memenuhi kebutuhan berbagai proyek, Anda mungkin perlu menyesuaikan beragam pengaturan PHP seperti batas memori, ukuran unggahan file, tingkat pelaporan kesalahan, atau mengaktifkan modul ekstensi tertentu.
Dokumen ini akan membahas secara detail cara mengubah konfigurasi PHP di ServBay. ServBay sangat menyarankan dan telah menyediakan antarmuka pengguna grafis (UI) yang mudah untuk mengelola pengaturan ini. Meskipun mengetahui lokasi dan struktur file konfigurasi inti seperti php.ini
dan php-fpm.conf
sangat membantu, sangat disarankan untuk selalu melakukan perubahan melalui UI ServBay guna menjaga konsistensi dan kompatibilitas pengaturan.
Peringatan Penting
Mohon jangan mengedit secara manual file konfigurasi PHP yang dihasilkan ServBay (terletak di /Applications/ServBay/etc/php/<versi>/
dan subdirektorinya). File-file ini dikelola langsung oleh ServBay, dan perubahan manual akan ditimpa saat ServBay diperbarui, dimulai ulang, atau ketika ada operasi internal lainnya. Semua perubahan konfigurasi sebaiknya dilakukan melalui antarmuka pengguna ServBay.
Ringkasan
Di ServBay, setiap versi PHP memiliki direktori konfigurasi terpisah. Misalnya, file konfigurasi utama PHP 8.3 berada di /Applications/ServBay/etc/php/8.3
.
File konfigurasi utama meliputi:
php.ini
: File konfigurasi utama PHP yang mempengaruhi pengaturan secara umum di CLI maupun web.php-fpm.conf
: File konfigurasi PHP-FPM (FastCGI Process Manager), terutama memengaruhi perilaku dan performa PHP saat berjalan di server web (seperti Caddy atau Nginx).conf.d/
: Direktori ini berisi file konfigurasi pemuatan modul ekstensi PHP (.ini
), contohnyaxdebug.ini
,opcache.ini
, dan lain-lain.
Meskipun file-file tersebut tersedia, ServBay memberikan cara yang lebih aman dan mudah untuk memodifikasi pengaturannya.
Konfigurasi Melalui Antarmuka Pengguna ServBay (Metode yang Disarankan)
ServBay menawarkan antarmuka grafis yang intuitif untuk langsung menyesuaikan parameter konfigurasi PHP. Setelah Anda mengedit dan menyimpan perubahan melalui UI, ServBay akan secara otomatis menerapkan perubahan dan, jika diperlukan (biasanya otomatis), me-restart layanan PHP Anda—tanpa perlu mengedit file secara manual maupun menjalankan perintah terminal.
Akses UI pengaturan PHP sebagai berikut:
- Buka jendela utama ServBay.
- Di bilah navigasi sebelah kiri, klik Bahasa.
- Temukan dan pilih versi PHP yang ingin Anda konfigurasi dari daftar bahasa pengembangan (misalnya, klik
PHP 8.3
). - Panel sebelah kanan akan menampilkan detail dan opsi konfigurasi untuk versi PHP yang dipilih.
Tampilan khas antarmuka pengaturan PHP seperti gambar berikut:
Tampilan ini biasanya terbagi menjadi tiga bagian utama, yang masing-masing mencerminkan konfigurasi PHP-FPM, PHP (php.ini
), dan modul ekstensi PHP. Berikut penjelasan setiap bagiannya.
Konfigurasi PHP FPM
Tips
Pengaturan pada php-fpm.conf
terutama mempengaruhi perilaku PHP saat dijalankan pada lingkungan server web. Perubahan yang Anda lakukan melalui UI ServBay di bagian ini akan diprioritaskan (menimpa) pengaturan dengan nama sama yang ada di php.ini
, namun hanya berlaku untuk permintaan web. Pengaturan ini tidak akan mempengaruhi eksekusi PHP melalui Command Line Interface (CLI).
Layanan web ServBay (Caddy atau Nginx) berinteraksi dengan PHP melalui PHP-FPM. Di antarmuka konfigurasi PHP FPM, Anda dapat mengatur parameter yang berdampak pada performa dan kestabilan lingkungan web, seperti:
- Manajemen proses (
pm
): Mengatur cara PHP-FPM membuat dan mengelola proses kerja (sepertidynamic
,static
). - Jumlah proses (
pm.max_children
,pm.start_servers
, dst.): Menentukan jumlah maksimum proses anak, jumlah proses saat startup, dan sebagainya—berpengaruh pada kemampuan menangani permintaan secara paralel. - Batas memori (
memory_limit
): Pengaturan di sini menimpa nilai padaphp.ini
dengan nama sama dan hanya berlaku untuk permintaan web. - Log & Tampilan Error: Atur jalur log error, tingkat error, dan apakah error ditampilkan di browser.
Sebagai contoh, jika Anda ingin menaikkan batas memori PHP dari nilai default (seperti 64M atau 128M) menjadi 1G di lingkungan web, cukup temukan opsi memory_limit
pada bagian konfigurasi PHP FPM di UI ServBay, pilih 1G
dari menu dropdown, lalu simpan. Perubahan ini hanya akan berdampak pada skrip PHP yang dijalankan melalui server web; eksekusi PHP lewat command line tetap mengikuti nilai memory_limit
pada php.ini
.
Perbandingan: Jika memory_limit
pada php.ini
diatur ke 512M
, tapi pada konfigurasi PHP FPM diatur ke 128M
:
- Skrip PHP yang dijalankan melalui CLI dapat menggunakan memori hingga
512M
. - Skrip PHP yang diakses melalui web hanya bisa menggunakan memori hingga
128M
.
Konfigurasi php.ini
Tips
Pengaturan di dalam php.ini
berlaku secara global, memengaruhi perilaku PHP baik di CLI maupun web. Namun, seperti dijelaskan sebelumnya, pengaturan dengan nama sama di PHP-FPM akan menimpa nilai dari php.ini
untuk lingkungan web.
Pada bagian konfigurasi PHP di UI, Anda dapat menyesuaikan berbagai pengaturan mendasar dari file php.ini
. Contoh pengaturannya antara lain:
post_max_size
: Membatasi ukuran maksimal data POST.upload_max_filesize
: Membatasi ukuran file upload maksimum.date.timezone
: Mengatur zona waktu default yang digunakan PHP.display_errors
/error_reporting
: Mengatur apakah error ditampilkan pada halaman serta level error yang dilaporkan.max_execution_time
: Menentukan lama maksimum eksekusi skrip (dalam detik).disable_functions
/disable_classes
: Menonaktifkan fungsi atau class PHP tertentu demi keamanan.open_basedir
: Membatasi jalur sistem file yang bisa diakses PHP. Sebaiknya seluruh proyek website disimpan di root default ServBay (/Applications/ServBay/www
), sehingga pada saat mengaturopen_basedir
cukup mencantumkan direktori tersebut tanpa perlu menulis banyak jalur berbeda.
Anda dapat langsung menyesuaikan seluruh pengaturan umum php.ini
melalui UI ServBay.
Untuk penjelasan lengkap seluruh parameter pada php.ini
, silakan cek dokumentasi resmi PHP: PHP Runtime Configuration.
Konfigurasi Modul Ekstensi PHP
ServBay sudah mendukung banyak modul ekstensi PHP populer, meliputi koneksi database, caching, debugging, kompatibilitas framework, dan lain sebagainya. Melalui UI ServBay, Anda dapat dengan mudah mengaktifkan atau menonaktifkan modul tersebut dan mengonfigurasi parameternya.
Beberapa ekstensi PHP populer yang didukung ServBay antara lain xDebug
, OPcache
, ImageMagick
, Redis
, MongoDB
, Phalcon
, Swoole
, dsb. ServBay juga mendukung ekstensi lain seperti dukungan koneksi ke database (MySQL, PostgreSQL, MongoDB), message queue, sistem cache, dll.
Langkah mengaktifkan/menonaktifkan ekstensi:
- Buka bagian konfigurasi PHP pada UI ServBay, lalu masuk ke tab "Modul Ekstensi" atau sejenisnya.
- Cari modul ekstensi yang diinginkan (misal
xdebug
). - Klik tombol switch di sebelah nama modul untuk mengaktifkan atau menonaktifkan.
- Untuk modul dengan opsi tambahan (misal
xDebug
), Anda bisa langsung mengubah pengaturannya (sepertixdebug.mode
,xdebug.client_port
, dst.) di tampilan yang sama. - Klik tombol simpan untuk menerapkan perubahan.
Daftar lengkap modul ekstensi PHP yang didukung beserta penjelasan terperinci dapat diakses melalui dokumentasi ServBay bagian Daftar Modul Ekstensi PHP (pastikan Anda membaca dokumen versi terbaru).
Memahami Struktur File Konfigurasi PHP (Tidak Disarankan Edit Manual)
Walaupun sangat disarankan melakukan perubahan lewat UI ServBay, memahami lokasi dan struktur file konfigurasi inti akan membantu Anda mengerti bagaimana PHP berjalan di balik layar.
File konfigurasi PHP yang dihasilkan ServBay tersimpan di /Applications/ServBay/etc/php/<versi>/
.
php.ini
: File konfigurasi utama.php-fpm.conf
: File konfigurasi PHP-FPM (manajemen proses PHP).conf.d/
: Direktori file.ini
untuk setiap modul ekstensi.
Contoh Struktur File php.ini
File php.ini
menggunakan format INI. Berikut contoh beberapa pengaturan umum di dalam file ini:
ini
; Mengubah batas memori
memory_limit = 256M
; Mengatur batas ukuran upload file
upload_max_filesize = 50M
post_max_size = 50M
; Mengatur zona waktu
date.timezone = "Asia/Shanghai" ; Atau "UTC", "America/New_York", dll. Silakan sesuaikan
; Aktifkan penampilan error (hanya untuk lingkungan development!)
display_errors = On
error_reporting = E_ALL
; Ubah waktu maksimal eksekusi
max_execution_time = 300
; Batasi jalur akses file sistem (contoh)
; open_basedir = /Applications/ServBay/www/:/tmp/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Contoh Struktur File php-fpm.conf
File php-fpm.conf
berisi pengaturan global serta pengaturan kolam proses (pool). Biasanya, ServBay membuat pool default bernama www
.
ini
[global]
; Jalur file log error global
error_log = /Applications/ServBay/logs/php/8.3/errors.log
[www]
; Alamat dan port listen atau file socket
listen = /Applications/ServBay/tmp/php-cgi-8.3.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
; Pengguna dan grup (ServBay umumnya berjalan menggunakan pengguna saat ini)
; user = servbay-demo
; group = staff
; Metode manajemen proses (static, dynamic, ondemand)
pm = dynamic
pm.max_children = 10 ; Jumlah maksimal proses anak
pm.start_servers = 2 ; Jumlah proses saat startup
pm.min_spare_servers = 1 ; Min. idle process
pm.max_spare_servers = 6 ; Maks. idle process
pm.max_requests = 1024 ; Maksimal permintaan/anak proses sebelum restart—untuk mencegah kebocoran memori
; Aktifkan slow log (eksekusi melebihi request_slowlog_timeout akan dicatat di slowlog)
request_slowlog_timeout = 5s
slowlog = /Applications/ServBay/logs/php/8.3/slow.log
; Pengaturan PHP yang menimpa nilai di php.ini (contoh)
; php_admin_value[memory_limit] = 128M
; php_admin_flag[display_errors] = on
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Contoh Konfigurasi Modul PHP (conf.d/)
File .ini
di dalam conf.d/
digunakan untuk mengaktifkan dan mengonfigurasi modul tertentu. Contohnya, file xdebug.ini
bisa berisi:
ini
[Xdebug]
; Memuat ekstensi Xdebug
zend_extension = xdebug.so
; Mode Xdebug (debug, develop, profile, trace, coverage)
xdebug.mode=debug,develop
; Cara memulai debug (yes, trigger, develop)
; yes: debug selalu aktif
; trigger: aktif berdasarkan trigger tertentu (GET/POST/cookie)
; develop: hanya fitur bantu development (misal stacktrace)
xdebug.start_with_request=yes
; Host dan port klien, terhubung ke IDE untuk debugging
xdebug.client_host=localhost
xdebug.client_port=39083
; Jalur file log Xdebug
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sekali lagi kami tekankan: Meskipun file tersebut dapat ditemukan di lokasi ini, mohon jangan edit secara manual. Selalu gunakan UI ServBay untuk modifikasi.
Menerapkan Perubahan: Restart Layanan PHP
Setelah mengubah pengaturan melalui UI ServBay, sistem biasanya akan mendeteksi dan menerapkan perubahan secara otomatis. Namun, dalam beberapa kasus, Anda perlu me-restart layanan PHP secara manual agar perubahan benar-benar diterapkan.
Berikut cara me-restart layanan PHP:
Restart Melalui Antarmuka ServBay
- Buka jendela utama ServBay.
- Di bilah navigasi sebelah kiri, klik Paket.
- Temukan versi PHP yang baru saja diubah pengaturannya.
- Klik tombol restart (simbol panah melingkar) di sebelah versi PHP tersebut.
Restart Dengan Tool Baris Perintah servbayctl
Bagi yang lebih suka berinteraksi lewat terminal, ServBay menyediakan tool servbayctl
untuk mengelola layanan—termasuk restart PHP versi tertentu.
Buka aplikasi terminal, jalankan perintah berikut (gantikan 8.3
dengan versi PHP yang ingin Anda restart):
bash
servbayctl restart php 8.3
1
Setelah menjalankan perintah ini, ServBay akan me-restart proses PHP-FPM untuk versi PHP tersebut agar konfigurasi baru aktif.
Tanya Jawab (FAQ)
Tanya: Saya sudah mengedit file
php.ini
secara manual, mengapa pengaturannya tidak berlaku atau justru hilang?- Jawab: ServBay mengelola dan membangkitkan ulang file konfigurasi paketnya. Setiap perubahan manual dapat ditimpa saat ServBay memperbarui, me-restart layanan, atau melakukan operasi internal. Mohon gunakan antarmuka pengguna ServBay agar perubahan tetap berlaku dan aman.
Tanya: Bagaimana cara menambah batas memori PHP atau ukuran unggahan file?
- Jawab: Buka UI ServBay, navigasi ke Bahasa -> pilih versi PHP Anda. Pada konfigurasi PHP FPM, cari opsi
memory_limit
dan ubah nilainya (untuk web). Pada pengaturan php.ini, sesuaikanupload_max_filesize
danpost_max_size
(berlaku global/kadang tertimpa nilai FPM untuk web). Setelah mengedit, simpan dan restart layanan PHP.
- Jawab: Buka UI ServBay, navigasi ke Bahasa -> pilih versi PHP Anda. Pada konfigurasi PHP FPM, cari opsi
Tanya: Bagaimana cara mengaktifkan atau mengatur Xdebug?
- Jawab: Buka UI ServBay, masuk ke Bahasa -> pilih versi PHP Anda. Masuk ke tab modul ekstensi, cari
xdebug
, aktifkan, lalu sesuaikan parameter sepertixdebug.mode
,xdebug.client_host
,xdebug.client_port
, sesuai kebutuhan debugging/IDE Anda. Simpan dan restart layanan PHP.
- Jawab: Buka UI ServBay, masuk ke Bahasa -> pilih versi PHP Anda. Masuk ke tab modul ekstensi, cari
Tanya: Apa beda konfigurasi
php.ini
dan PHP-FPM? Mana yang harus saya ubah?- Jawab:
php.ini
merupakan file konfigurasi global PHP untuk CLI maupun web. File konfigurasi PHP-FPM (php-fpm.conf
) spesifik mengatur perilaku PHP ketika berjalan melalui web server dan pengaturannya dapat menimpa nilai diphp.ini
. Untuk pengaturan yang hanya berdampak di web (misal memori, waktu eksekusi, tampilan error), utamakan update di konfigurasi PHP-FPM. Jika menyangkut CLI atau pengaturan global (zona waktu, disable function), edit di php.ini. UI ServBay sudah membedakan keduanya dengan jelas.
- Jawab:
Kesimpulan
ServBay hadir dengan antarmuka pengguna yang aman dan mudah untuk mengelola beragam konfigurasi PHP Anda—termasuk php.ini
, PHP-FPM, serta modul ekstensi. Dengan memanfaatkan UI ServBay untuk mengubah konfigurasi, menyimpan, dan me-restart layanan PHP, Anda bisa memastikan lingkungan development berjalan sesuai keperluan. Walaupun memahami lokasi file konfigurasi inti dapat membantu, sebisa mungkin lakukan perubahan hanya melalui UI ServBay guna menghindari risiko ditimpa. Manfaatkan kekuatan konfigurasi ServBay untuk menciptakan lingkungan PHP terbaik sesuai kebutuhan berbagai proyek Anda.