Manajemen Versi PHP di ServBay: Panduan Konfigurasi CLI & Lingkungan Situs
ServBay adalah alat pengembangan Web lokal yang kuat untuk macOS, mendukung berbagai bahasa pemrograman serta database. Artikel ini mengupas tuntas cara mengelola versi PHP yang berbeda pada proyek berbeda di ServBay, baik untuk eksekusi skrip via command line, maupun untuk layanan di situs tertentu. Penguasaan manajemen versi PHP di ServBay dapat meningkatkan efisiensi pengembangan Anda dan memastikan isolasi serta stabilitas lingkungan proyek.
1. Lingkungan Command Line: Kelola Versi PHP Proyek via .servbay.config
Dengan membuat file konfigurasi .servbay.config
di direktori root proyek, Anda dapat menentukan versi PHP command line secara mandiri untuk tiap proyek. ServBay akan memuat lingkungan PHP sesuai direktori terminal saat ini, memastikan isolasi versi tiap proyek dan menghindari konflik konfigurasi global.
1. Fungsi & Prinsip Kerja .servbay.config
- Kontrol Versi Tingkat Proyek: ServBay memungkinkan instalasi dan menjalankan beberapa versi PHP secara bersamaan, dari PHP 5.6 hingga terbaru dan versi pengembangan. Dengan
.servbay.config
, Anda bisa menentukan versi PHP yang dibutuhkan secara presisi tiap proyek. - Pergantian Otomatis Tanpa Intervensi: Saat Anda menggunakan perintah
cd
di terminal masuk ke direktori proyek yang memiliki file.servbay.config
, ServBay akan mendeteksi file ini dan sementara mengubah environment variables (terutamaPATH
) sesi terminal tersebut. Command sepertiphp
dancomposer
akan mengarah ke executable PHP versi yang telah Anda pilih. Saat keluar direktori, lingkungan terminal kembali ke setelan global di ServBay tanpa efek samping bagi sistem Anda.
2. Cara Konfigurasi
Buat file .servbay.config
di root direktori proyek Anda, lalu tambahkan konfigurasi berikut untuk menentukan versi PHP:
bash
# Menentukan versi PHP pada proyek ini (contoh: gunakan PHP 8.3)
PHP_VERSION=8.3
# Bila proyek juga butuh Node.js versi tertentu, bisa ditentukan sekalian (contoh: Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
- Nilai pada
PHP_VERSION
harus berupa versi PHP yang sudah terpasang di ServBay, biasanya berupa angka mayor atau mayor.minor (misal:7.4
,8.1
,8.3
,8.5
). Pastikan versi yang Anda sebut telah tersedia dan aktif di ServBay. NODE_VERSION
dikonfigurasi dengan cara serupa, untuk mengatur versi Node.js pada proyek.
Menguji Konfigurasi:
Di terminal pada direktori proyek yang berisi .servbay.config
, lakukan pengecekan:
bash
$ pwd # Pastikan sudah berada di root direktori proyek
$ php -v # Cek apakah output versi PHP sudah mengikuti konfigurasi (misal: PHP 8.3.x)
$ composer install # Proses instalasi dan resolusi dependensi berjalan dengan versi PHP aktif
1
2
3
2
3
Jika setelah mengubah .servbay.config
versi PHP tidak berubah, cobalah tutup-buka terminal atau jalankan cd .
untuk memaksa ServBay memuat ulang konfigurasi.
3. Tips & Peringatan Penggunaan
- Kompatibilitas Versi: Jika muncul error seperti “Class not found” atau “Call to undefined function” saat menjalankan perintah proyek, cek terlebih dulu rentang versi PHP yang diperlukan di dependensi proyek (
composer.json
), dan pastikan versi yang Anda pilih cocok. Beberapa proyek lawas mungkin menggunakan fitur atau ekstensi yang sudah dihapus di PHP versi baru (contoh: ekstensimcrypt
dihapus sejak PHP 7.2). - Nilai Default Global: Jika dalam direktori sekarang atau di direktori atasnya tidak ditemukan
.servbay.config
, ServBay otomatis menggunakan versi PHP global yang sudah Anda atur pada “Pengaturan” di GUI ServBay. - Kolaborasi Multi-Servis:
.servbay.config
juga bisa mengelola versi Node.js (NODE_VERSION
). Ini sangat berguna untuk proyek dengan PHP di backend, dan frontend builder menggunakan Node.js seperti Webpack atau Vite.
4. Contoh Penggunaan
Berikut demonstrasi nyata proses pergantian otomatis versi PHP melalui .servbay.config
di direktori proyek berbeda:
Teks gambar: Pada ServBay, saat memasuki direktori dengan file .servbay.config berbeda, perintah
php -v
di terminal akan otomatis menunjukkan versi PHP yang ditetapkan pada file tersebut.
2. Lingkungan Situs: Atur Versi PHP melalui Antarmuka Grafis ServBay
Antarmuka grafis ServBay menyediakan cara intuitif untuk mengatur versi PHP secara independen bagi setiap situs. Versi PHP situs (Web) dan versi command line (CLI) sifatnya terpisah, Anda bebas mengatur sesuai kebutuhan website.
1. Prosedur Pengaturan
- Buka Antarmuka Grafis ServBay: Jalankan aplikasi ServBay di Mac Anda.
- Masuk ke Manajemen Situs: Pilih tab Situs (Websites) pada panel navigasi kiri.
- Tambahkan atau Edit Situs:
- Klik tombol + di kiri bawah untuk menambah konfigurasi situs baru.
- Atau pilih situs yang sudah ada lalu edit pengaturannya.
- Sesuaikan Properti Situs:
- Root Directory (Direktori Root): Tentukan folder tempat file website Anda berada. Direkomendasikan menggunakan subdirektori di
/Applications/ServBay/www/
, misal:/Applications/ServBay/www/nama-website-anda/public
(untuk proyek Laravel/Symfony). - Domain: Atur custom domain untuk pengembangan lokal, misal
nama-website-anda.servbay.demo
. ServBay dapat otomatis mengonfigurasi DNS lokal & sertifikat HTTPS (pakai ServBay User CA atau ServBay Public CA) demi kemudahan pengujian. - PHP Version (Versi PHP): Pilih versi PHP dari menu dropdown. ServBay menampilkan seluruh versi PHP yang telah diinstal dan diaktifkan (misal 7.4, 8.1, 8.3, 8.5).
- Root Directory (Direktori Root): Tentukan folder tempat file website Anda berada. Direkomendasikan menggunakan subdirektori di
- Simpan Pengaturan: Setelah selesai, klik tombol simpan. ServBay akan otomatis menerapkan perubahan, kemungkinan akan me-reload/mengulang proses server Web & PHP-FPM terkait.
2. Detail Teknis & Keunggulan
- Isolasi Layanan: Setiap situs yang dikonfigurasi biasanya dijalankan pada pool proses PHP-FPM yang terpisah. Ini memastikan lingkungan PHP tiap situs benar-benar terisolasi, jadi error atau kebocoran memori di satu situs tidak mempengaruhi situs lain.
- Optimasi Performa: Paket software ServBay (termasuk semua versi PHP) telah dioptimasi baik untuk arsitektur ARM64 (Apple Silicon) maupun X86_64, sehingga performa optimal tetap terjaga di semua Mac.
- Troubleshooting:
- Cek log error PHP pada
/Applications/ServBay/var/log/php/php_error.log
. - Pantau status proses PHP-FPM dengan utilitas CLI ServBay
servbayctl
, misalservbayctl status php 8.3
.
- Cek log error PHP pada
3. Integrasi Web Server & Database
ServBay menyediakan fleksibilitas tinggi dalam pemilihan web server dan database sesuai kebutuhan proyek:
- Dukungan Web Server: Mulai versi 1.7.0, Anda dapat dengan mudah berpindah antar web server untuk setiap situs. ServBay mendukung Apache, Nginx, dan Caddy yang terintegrasi mulus dengan proses PHP-FPM.
- Kolaborasi Database: ServBay mendukung multiple versi MySQL, MariaDB, PostgreSQL, MongoDB, Redis, dan lainnya. Anda bisa menghubungkan situs ke instance database sesuai kebutuhan proyek Anda (misal: Laravel yang lebih cocok dengan MariaDB 11.x).
3. Kolaborasi Lintas Lingkungan & Praktik Terbaik
Memahami perbedaan dan cara konfigurasi versi PHP di command line dan web sangat berguna untuk pengembangan yang optimal di berbagai skenario:
Skenario | Konfigurasi CLI (.servbay.config ) | Konfigurasi Web (GUI ServBay) | Catatan |
---|---|---|---|
Maintenance sistem lawas | Atur PHP_VERSION=5.6 di root proyek | Pilih PHP 5.6 saat mengatur situs | Pastikan seluruh ekstensi & versi PHP lama telah diinstal di ServBay. |
Pengembangan proyek baru (Laravel 11, dst) | Atur PHP_VERSION=8.3 (atau lebih baru), bisa sekalian NODE_VERSION=20 | Tambah situs, root menunjuk ke folder public proyek, pilih PHP 8.3+, set domain dev & enable HTTPS | Selaraskan tool CLI (Composer, Artisan, build tool Node) dengan versi PHP Web. |
Pengujian versi PHP terbaru | Atur PHP_VERSION=8.5 di root proyek pengujian | Tambahkan situs pengujian, pilih PHP 8.5 | Untuk testing kompatibilitas project pada PHP versi baru. |
Jalankan Composer | Pastikan .servbay.config di direktori (atau atasnya) telah atur versi PHP yang tepat | N/A (Composer dijalankan di CLI) | Composer memakai versi PHP aktif di sesi terminal saat ini. |
Peringatan
- Perbedaan CLI & Web: PHP CLI dan PHP-FPM pada web mungkin menggunakan file konfigurasi (
php.ini
) dan modul ekstensi yang berbeda walau nomor versinya sama. Contohnya, ekstensiopcache
umumnya aktif pada PHP-FPM demi performa, tapi bisa nonaktif pada CLI. Jika hasil berbeda, periksa filephp.ini
dan modul ekstensi pada masing-masing mode. (Di ServBay, tiap versi PHP punyaphp.ini
sendiri). - Pembaruan ServBay Runtime: Pastikan aplikasi ServBay beserta Runtime selalu update. Tim ServBay rutin meng-update paket software, termasuk PHP versi terbaru dan patch keamanan. Update aplikasi akan sekaligus memperbarui Runtime sehingga Anda dapat fitur dan peningkatan terbaru.
FAQ (Pertanyaan yang Sering Diajukan)
T: Apa yang harus saya lakukan jika versi PHP di CLI dan web saling berbenturan?
J: Lingkungan command line (yang dikontrol .servbay.config
) dan lingkungan web (diatur GUI ServBay) bersifat independen. File .servbay.config
hanya memengaruhi command php
pada sesi terminal sekarang; sedangkan pengaturan situs akan menentukan versi PHP yang dipakai web server (Apache/Nginx/Caddy) via PHP-FPM untuk menangani request web. Tidak terjadi benturan langsung. Anda bisa memakai versi PHP berbeda pada CLI (misal untuk Composer/Artisan) dan pada web, tapi ini umumnya tidak direkomendasikan. Demi konsistensi dev-prod, sangat disarankan gunakan versi yang sama.
Kesimpulan
Dengan .servbay.config
dan antarmuka grafis yang mudah, ServBay memungkinkan Anda mengelola versi PHP secara fleksibel dan powerful. Baik untuk memelihara proyek lawas yang butuh PHP versi lama, maupun mengembangkan aplikasi dengan PHP terbaru, ServBay membuat pengelolaan lingkungan lokal lebih mudah dan mendekati lingkungan produksi. Manfaatkan fitur ini untuk meningkatkan efisiensi dan kestabilan proyek Anda.