Panduan Manajemen Versi PHP di ServBay: Konfigurasi Lingkungan CLI & Website
ServBay adalah alat lingkungan pengembangan Web lokal yang kuat, mendukung macOS maupun Windows serta berbagai bahasa pemrograman dan database. Artikel ini membahas secara detail cara fleksibel mengelola versi PHP untuk proyek berbeda di ServBay—baik ketika menjalankan script dari command line maupun menyediakan layanan untuk website tertentu. Dengan memahami mekanisme manajemen versi PHP ServBay, Anda dapat meningkatkan efisiensi pengembangan dan memastikan lingkungan proyek yang terisolasi dan stabil.
1. Lingkungan Command Line: Mengelola Versi PHP Proyek dengan .servbay.config
Dengan membuat file konfigurasi .servbay.config
di direktori root proyek, developer bisa menentukan versi PHP CLI yang spesifik untuk setiap proyek. ServBay secara otomatis memuat lingkungan PHP sesuai direktori terminal aktif, sehingga tiap proyek mendapat isolasi versi tanpa bentrok pengaturan global.
1. Fungsi & Prinsip Kerja .servbay.config
- Kontrol Versi Tingkat Proyek: ServBay memungkinkan instalasi dan penggunaan beberapa versi PHP sekaligus — mulai dari PHP 5.6 hingga versi stabil dan pengembangan terbaru. Melalui
.servbay.config
, Anda bisa menetapkan versi PHP yang diperlukan untuk setiap proyek dengan presisi. - Switching Tanpa Gangguan: Ketika Anda berpindah ke direktori proyek yang berisi
.servbay.config
via command line (cd
), ServBay mendeteksi file tersebut dan sementara mengubah environment variable session terminal (utamanyaPATH
). Dengan itu, perintah sepertiphp
dancomposer
akan mengarah ke executable PHP versi yang Anda tentukan. Keluar dari direktori tersebut, environment akan kembali ke default global ServBay, tanpa memengaruhi konfigurasi lingkungan sistem secara keseluruhan.
2. Cara Konfigurasi
Buat file .servbay.config
di root direktori proyek Anda, lalu tambahkan baris berikut untuk menentukan versi PHP:
bash
# Tentukan versi PHP untuk proyek ini (contoh: menggunakan PHP 8.3)
PHP_VERSION=8.3
# Jika proyek Anda juga memerlukan versi Node.js tertentu, tambahkan konfigurasi berikut (contoh: Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
- Nilai
PHP_VERSION
harus sesuai dengan versi PHP yang sudah terinstal dan diaktifkan di ServBay (misalnya7.4
,8.1
,8.3
,8.5
). Pastikan versi yang Anda tulis sudah tersedia. NODE_VERSION
dapat dikonfigurasi serupa untuk menetapkan versi Node.js bagi proyek bersangkutan.
Verifikasi Efektivitas:
Buka terminal di direktori proyek yang memiliki .servbay.config
, lalu jalankan perintah berikut untuk memverifikasi:
bash
$ pwd # Memastikan Anda berada di root proyek
$ php -v # Mengecek apakah output versi PHP sudah sesuai konfigurasi (misalnya PHP 8.3.x)
$ composer install # Proses resolve dan install dependensi akan berdasarkan versi PHP yang aktif
1
2
3
2
3
Jika perubahan .servbay.config
tidak langsung berpengaruh, tutup dan buka kembali terminal, atau jalankan cd .
untuk memaksa ServBay memuat ulang konfigurasi.
3. Tips Penting & Fitur Lanjutan
- Kecocokan Versi: Jika muncul error seperti "Class not found" atau "Call to undefined function" saat menjalankan perintah proyek, periksa dulu range versi PHP yang tercantum di dependensi (misal di
composer.json
). Pastikan versi PHP pada konfigurasi cocok dengan kebutuhan proyek dan dependensinya. Proyek lawas mungkin membutuhkan ekstensi atau fitur yang sudah dihapus pada versi PHP terbaru (misal ekstensimcrypt
yang dihapus pada PHP 7.2). - Nilai Default Global: Jika direktori saat ini atau parent folder-nya tidak ada file
.servbay.config
, ServBay akan menggunakan versi PHP default global yang diatur melalui antarmuka grafis. - Kolaborasi Multi-Tool: Selain versi PHP,
.servbay.config
juga bisa menentukan versi Node.js (NODE_VERSION
). Ini sangat berguna bagi proyek yang menggunakan PHP untuk backend dan Node.js sebagai tooling frontend seperti Webpack, Vite, dsb.
4. Contoh Praktis
Simak contoh berikut mengenai switching versi PHP otomatis di berbagai direktori proyek dengan .servbay.config
:
Teks gambar: Di ServBay, masuk ke folder proyek yang berbeda (masing-masing punya
.servbay.config
), jalankan php -v
, dan terminal otomatis menggunakan versi PHP yang ditentukan oleh file tersebut.
2. Lingkungan Website: Manajemen Versi PHP lewat GUI ServBay
ServBay menyediakan antarmuka grafis yang intuitif untuk mengatur versi PHP khusus website. Konfigurasi versi PHP website ini terpisah dari environment command line dan dapat disesuaikan sesuai kebutuhan masing-masing situs.
1. Langkah Konfigurasi
- Buka Antarmuka Grafis ServBay: Jalankan aplikasi ServBay.
- Masuk Menu Website: Pilih tab Websites di panel navigasi sisi kiri.
- Tambah/Edit Website:
- Klik tombol + di pojok kiri bawah untuk menambah website baru.
- Pilih website yang sudah ada untuk melakukan edit konfigurasi.
- Konfigurasi Properti Website:
- Root Directory (Folder Situs): Tentukan lokasi file website Anda. Disarankan menggunakan sub-direktori di
/Applications/ServBay/www/
, contoh:/Applications/ServBay/www/nama-website-kamu/public
(untuk proyek seperti Laravel atau Symfony). - Domain (Nama Domain): Tentukan domain lokal pengembangan, misal
nama-website-kamu.servbay.demo
. ServBay otomatis melakukan setting DNS lokal & sertifikat HTTPS untuk domain custom ini (menggunakan ServBay User CA/Public CA), memudahkan proses uji coba dan pengembangan. - PHP Version (Versi PHP): Dari dropdown, pilih versi PHP untuk website. ServBay akan menampilkan seluruh versi PHP yang diinstal dan diaktifkan (seperti 7.4, 8.1, 8.3, 8.5).
- Root Directory (Folder Situs): Tentukan lokasi file website Anda. Disarankan menggunakan sub-direktori di
- Simpan Konfigurasi: Setelah diatur, klik tombol save. ServBay akan menerapkan perubahan—mungkin perlu reload atau restart web server & proses PHP-FPM terkait.
2. Detail Teknis & Keunggulan
- Isolasi Layanan: Setiap website di ServBay dijalankan melalui pool PHP-FPM terpisah sesuai versi PHP yang Anda pilih, menjamin isolasi lingkungan antarsitus. Error atau memory leak di satu website tidak akan berimbas pada yang lain.
- Optimasi Performa: Paket software ServBay (termasuk PHP) dioptimalkan untuk arsitektur ARM64 (Apple Silicon) maupun X86_64, sehingga performa optimal didapat di berbagai perangkat.
- Troubleshooting:
- Cek log error PHP: Error runtime PHP website tercatat di
/Applications/ServBay/var/log/php/php_error.log
. - Cek status PHP-FPM: Gunakan tool CLI ServBay,
servbayctl
, untuk mengecek status PHP versi tertentu—misalservbayctl status php 8.3
.
- Cek log error PHP: Error runtime PHP website tercatat di
3. Integrasi Web Server & Database
ServBay punya fleksibilitas tinggi, memungkinkan Anda memilih web server dan database sesuai kebutuhan proyek:
- Dukungan Web Server: Mulai ServBay 1.7.0, Anda bisa beralih antara Apache, Nginx, dan Caddy. Semuanya sudah terintegrasi rapi dengan proses PHP-FPM ServBay.
- Database yang Didukung: ServBay dapat menginstall/manajemen versi berbeda dari MySQL, MariaDB, PostgreSQL, MongoDB, Redis, dan lainnya. Anda bisa menghubungkan website/proyek ke instansi database tertentu yang berjalan di ServBay—memudahkan pengembangan proyek yang butuh versi database tertentu (misal Laravel yang optimal dengan MariaDB 11.x).
3. Kolaborasi Cross-Environment & Best Practice
Memahami perbedaan manajemen versi PHP di command line dan website serta cara konfigurasinya membantu Anda memilih solusi ideal untuk setiap kasus pengembangan:
Skenario | Konfigurasi CLI (.servbay.config ) | Konfigurasi Website (GUI ServBay) | Catatan |
---|---|---|---|
Memelihara Proyek Lama | Set PHP_VERSION=5.6 di root proyek | Pilih PHP 5.6 untuk website dari GUI | Pastikan semua ekstensi & versi PHP yang dibutuhkan proyek lama sudah terinstall. |
Pengembangan Proyek Baru (misal Laravel 11) | Set PHP_VERSION=8.3 (atau lebih tinggi), bisa sekaligus NODE_VERSION=20 | Tambah website baru, root ke folder public proyek, pilih PHP 8.3+, atur domain & HTTPS | Konsistensi versi PHP CLI (Composer, Artisan, builder Node) dan Web environments penting. |
Testing Versi PHP Mendatang | Set PHP_VERSION=8.5 di root proyek testing | Tambah website uji coba, pilih PHP 8.5 | Berguna untuk mengecek kompatibilitas kode pada versi PHP mendatang. |
Menjalankan Composer | Pastikan .servbay.config menentukan versi PHP yang tepat | N/A (Composer dijalankan di CLI) | Composer pakai versi PHP dari CLI aktif sesuai direktori proyek. |
Catatan Penting
- Perbedaan CLI & Web: Meski nama versi PHP sama, konfigurasi default dan modul yang aktif bisa berbeda antara CLI dan PHP-FPM. Contoh, ekstensi
opcache
cuma aktif di PHP-FPM (web) untuk performa, tapi biasanya nonaktif di CLI. Jika ada perbedaan perilaku, periksa filephp.ini
dan modul ter-install (tiap versi PHP ServBay punyaphp.ini
sendiri). - Update ServBay Runtime: Selalu pastikan versi ServBay dan runtime Anda up-to-date. Tim ServBay rutin merilis pembaruan paket (termasuk PHP versi baru & patch keamanan). Update ServBay otomatis memperbarui runtime guna mendapatkan fitur/fix terbaru.
Pertanyaan Umum (FAQ)
T: Bagaimana jika ada bentrok versi PHP antara CLI dan website?
J: Lingkungan command line (dikontrol oleh .servbay.config
) dan website (dikontrol via GUI ServBay) sepenuhnya terpisah. .servbay.config
hanya memengaruhi versi PHP di sesi terminal; konfigurasi website menentukan versi PHP-FPM yang dipakai web server (Apache/Nginx/Caddy) untuk request web. Tidak ada konflik langsung. Anda bisa saja menjalankan satu versi PHP di CLI untuk Composer/Artisan, dan versi lain di web. Namun, demi konsistensi antara development dan production, disarankan versi PHP CLI dan website sama.
Kesimpulan
ServBay menawarkan kemampuan manajemen versi PHP yang fleksibel lewat file .servbay.config
serta antarmuka grafis yang intuitif. Apakah Anda harus mengelola proyek lama dengan PHP lawas atau mengembangkan aplikasi terbaru dengan PHP terkini, ServBay memudahkan Anda menghasilkan lingkungan pengembangan yang terisolasi dan optimal. Pemanfaatan fitur ini membantu menjaga konsistensi antara lokal dan produksi sekaligus meningkatkan efisiensi serta stabilitas proyek Anda.