Pengurusan Versi PHP ServBay: Panduan Konfigurasi Baris Perintah & Persekitaran Laman Web
ServBay ialah peralatan pembangunan web tempatan yang berkuasa untuk macOS dan Windows, menyokong pelbagai bahasa pengaturcaraan dan pangkalan data. Artikel ini memperincikan cara untuk mengurus versi PHP secara fleksibel bagi setiap projek di ServBay, sama ada untuk skrip yang dijalankan dari baris perintah mahupun servis web tertentu. Dengan memahami mekanisme pengurusan versi PHP ServBay, anda dapat meningkatkan kecekapan pembangunan dan memastikan pengasingan serta kestabilan persekitaran projek.
1. Persekitaran Baris Perintah: Urus Versi PHP Projek dengan .servbay.config
Dengan mewujudkan fail konfigurasi .servbay.config
di direktori akar projek, pembangun boleh menetapkan versi PHP yang berasingan untuk setiap projek pada baris perintah. ServBay akan memuatkan versi PHP yang sesuai secara automatik mengikut direktori terminal semasa, memastikan pengasingan antara projek dan mengelakkan konflik konfigurasi global.
1. Peranan & Prinsip .servbay.config
- Kawalan Versi Bertahap Projek: ServBay membenarkan anda memasang dan menggunakan beberapa versi PHP serentak—dari PHP 5.6 hingga versi terkini yang stabil atau dalam pembangunan. Melalui
.servbay.config
, anda boleh menentukan versi PHP yang betul-betul diperlukan untuk setiap projek. - Pertukaran Tanpa Gangguan: Apabila anda menggunakan arahan
cd
untuk memasuki direktori projek yang mempunyai fail.servbay.config
, ServBay secara automatik mengesan fail ini dan mengubah suai pembolehubah persekitaran (terutamaPATH
) untuk sesi terminal tersebut. Ini menyebabkan arahan sepertiphp
,composer
dan lain-lain akan menunjuk ke versi PHP yang dipilih. Setelah anda keluar dari direktori itu, persekitaran akan kembali ke tetapan global ServBay secara automatik, tanpa kesan pada persekitaran sistem.
2. Cara Konfigurasi
Cipta fail bernama .servbay.config
di direktori akar projek anda, kemudian tambahkan kandungan seperti berikut untuk menetapkan versi PHP:
bash
# Tentukan versi PHP untuk projek ini (contoh: gunakan PHP 8.3)
PHP_VERSION=8.3
# Jika projek anda juga memerlukan versi Node.js tertentu, boleh tetapkan bersama (contoh: gunakan Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
- Nilai
PHP_VERSION
haruslah penanda versi PHP yang telah dipasang di ServBay, biasanya nombor utama atau nombor utama + minor (seperti7.4
,8.1
,8.3
,8.5
). Pastikan versi tersebut sudah dipasang dan diaktifkan dalam ServBay. - Penggunaan
NODE_VERSION
adalah serupa, untuk menyatakan Node.js versi pilihan untuk projek.
Cara Semak & Pengesahan:
Buka terminal dalam direktori projek yang mengandungi fail .servbay.config
dan jalankan arahan:
bash
$ pwd # Pastikan anda di direktori akar projek
$ php -v # Semak jika versi PHP yang dipaparkan adalah yang telah anda tetapkan (contoh: PHP 8.3.x)
$ composer install # Proses pemasangan pakej akan berdasarkan pada versi PHP aktif sekarang
1
2
3
2
3
Jika anda telah mengubah .servbay.config
tetapi versi PHP masih belum bertukar, cuba tutup dan buka semula tetingkap terminal, atau gunakan arahan cd .
untuk memaksa ServBay memuatkan konfigurasi yang baharu.
3. Tips & Perhatian Lanjutan
- Keserasian Versi: Jika anda menghadapi ralat seperti "Class not found" atau "Call to undefined function", semak keperluan dalam projek (contoh: fail
composer.json
) dan pastikan versi PHP yang ditetapkan serasi dengan projek dan kebergantungannya. Projek lama mungkin memerlukan ciri atau sambungan yang telah dibuang pada versi PHP yang baru (contoh: sambunganmcrypt
pada PHP 7.2 telah dibuang). - Nilai Lalai Global: Jika tiada fail
.servbay.config
di direktori semasa atau atasannya, ServBay akan menggunakan versi PHP lalai yang telah anda tetapkan dalam antara muka grafiknya di bahagian "Tetapan". - Kolaborasi Perkhidmatan:
.servbay.config
juga membenarkan pengurusan versi Node.js (NODE_VERSION
), berguna untuk projek yang menggunakan PHP di backend dan Node.js untuk alat binaan frontend (seperti Webpack, Vite).
4. Contoh Penggunaan
Berikut adalah demonstrasi bagaimana .servbay.config
boleh menukar versi PHP secara automatik bergantung pada direktori projek:
Penerangan imej: Dalam ServBay, apabila masuk ke direktori dengan fail
.servbay.config
yang berlainan dan jalankan arahan php -v
, terminal akan memaparkan versi PHP yang telah ditetapkan dalam fail tersebut.
2. Persekitaran Laman Web: Urus Versi PHP melalui Antara Muka Grafik ServBay
Antara muka grafik ServBay menyediakan cara intuitif untuk menetapkan versi PHP berlainan bagi setiap laman web. Versi PHP persekitaran web adalah bebas dari persekitaran baris perintah, membolehkan anda memilih secara fleksibel mengikut keperluan laman.
1. Langkah Konfigurasi
- Buka antara muka ServBay: Jalankan aplikasi ServBay.
- Navigasi ke Pengurusan Laman Web: Klik pada tab Websites (Laman Web) di bar navigasi kiri.
- Tambah atau sunting laman web:
- Klik butang + di bahagian bawah kiri untuk menambah konfigurasi laman web baru.
- Pilih konfigurasi laman sedia ada untuk suntingan.
- Tetapkan atribut laman:
- Root Directory (Direktori Akar): Pilih direktori di mana fail laman web anda disimpan. Disyorkan untuk menggunakan direktori di bawah laluan lalai ServBay
/Applications/ServBay/www/
, contohnya/Applications/ServBay/www/nama-laman-anda/public
(untuk projek Laravel atau Symfony). - Domain (Domain): Tetapkan domain pembangunan tempatan seperti
nama-laman-anda.servbay.demo
. ServBay akan mengurus DNS tempatan secara automatik serta sijil HTTPS (melalui ServBay User CA atau ServBay Public CA) untuk memudahkan pembangunan dan ujian. - PHP Version (Versi PHP): Pilih versi PHP yang dikehendaki untuk laman web anda daripada senarai drop-down. ServBay akan memaparkan semua versi PHP yang telah dipasang dan diaktifkan (contoh: 7.4, 8.1, 8.3, 8.5).
- Root Directory (Direktori Akar): Pilih direktori di mana fail laman web anda disimpan. Disyorkan untuk menggunakan direktori di bawah laluan lalai ServBay
- Simpan konfigurasi: Setelah selesai, klik butang simpan. ServBay akan melaksanakan perubahan secara automatik, mungkin memerlukan pelayan web dan proses PHP-FPM dimuat semula atau dimulakan semula.
2. Butiran Teknikal & Kelebihan
- Pengasingan Perkhidmatan: Setiap laman web biasanya berjalan dalam "kolam" proses PHP-FPM tersendiri, memastikan setiap laman mendapat persekitaran PHP yang benar-benar terasing. Kerosakan atau kebocoran memori pada satu laman tidak akan menjejaskan laman lain.
- Pengoptimuman Prestasi: Semua pakej ServBay, termasuk pelbagai versi PHP, dioptimumkan untuk seni bina ARM64 (Apple Silicon) dan X86_64, memastikan prestasi yang konsisten pada pelbagai platform.
- Diagnostik Kesilapan:
- Semak log kesilapan PHP: Ralat PHP biasanya dicatatkan dalam
/Applications/ServBay/var/log/php/php_error.log
. - Semak status proses PHP-FPM: Guna alat baris perintah ServBay
servbayctl
untuk menyemak status versi PHP tertentu, contohservbayctl status php 8.3
.
- Semak log kesilapan PHP: Ralat PHP biasanya dicatatkan dalam
3. Integrasi Pelayan Web & Pangkalan Data
ServBay membenarkan anda memilih pelayan web dan pangkalan data berbeza untuk setiap projek mengikut keperluan:
- Sokongan Pelayan Web: Bermula ServBay 1.7.0, anda boleh bertukar antara Apache, Nginx dan Caddy untuk laman web, dengan sokongan penuh bagi integrasi proses PHP-FPM.
- Pengurusan Pangkalan Data: ServBay menyokong pemasangan pelbagai versi MySQL, MariaDB, PostgreSQL, MongoDB dan Redis. Anda boleh sambung kod projek ke instans pangkalan data yang dijalankan oleh ServBay, sesuai untuk projek yang perlukan jenis atau versi pangkalan data yang spesifik (contoh: projek Laravel yang lebih serasi dengan MariaDB 11.x).
3. Kolaborasi Lintas Persekitaran & Amalan Terbaik
Mengetahui perbezaan pengurusan versi PHP untuk baris perintah (CLI) dan laman web membolehkan anda membuat pilihan yang optimum untuk pelbagai senario pembangunan:
Senario | Konfigurasi Baris Perintah (.servbay.config ) | Konfigurasi Laman Web (ServBay GUI) | Catatan |
---|---|---|---|
Menyelenggara Sistem Legasi | Tetapkan PHP_VERSION=5.6 di akar projek | Pilih PHP 5.6 di konfigurasi laman web | Pastikan versi dan sambungan PHP lama sudah dipasang di ServBay |
Pembangunan Projek Baru (seperti Laravel 11) | Tetapkan PHP_VERSION=8.3 (atau lebih tinggi), boleh juga NODE_VERSION=20 | Tambah laman web baru, root ke folder public projek, pilih PHP 8.3+, tetapkan domain & aktifkan HTTPS | Pastikan alat CLI (Composer, Artisan, Node) selaras dengan versi PHP Web |
Ujian Versi PHP Masa Depan | Tetapkan PHP_VERSION=8.5 di akar projek | Tambah laman ujian, pilih PHP 8.5 | Uji keserasian projek dengan versi PHP terbaru |
Jalankan arahan Composer | Pastikan .servbay.config tetapkan versi PHP yang betul di direktori semasa | N/A (Composer kebanyakannya digunakan dalam CLI) | Composer gunakan versi PHP aktif dalam terminal |
Perhatian
- Perbezaan CLI & Persekitaran Web: Walaupun anda menggunakan versi PHP yang sama, konfigurasi lalai dan sambungan yang dimuat dalam CLI serta Web (PHP-FPM) mungkin berbeza. Contohnya, sambungan
opcache
biasanya diaktifkan secara lalai dalam PHP-FPM untuk mempercepatkan prestasi, tetapi dinyahaktifkan dalam CLI. Jika anda dapati tingkah laku berbeza, semak failphp.ini
(setiap versi PHP di ServBay adaphp.ini
masing-masing) dan sambungan yang telah dimuatkan. - Kemas Kini ServBay Runtime: Sentiasa pastikan aplikasi dan runtime ServBay anda dikemas kini. Pasukan ServBay kerap mengeluarkan pakej terkini termasuk versi PHP baharu dan tampalan keselamatan. Mengemas kini ServBay lazimnya mengemas kini runtime secara automatik untuk menikmati fitur dan penambahbaikan terbaru.
Soalan Lazim (FAQ)
S: Apa harus dibuat jika versi PHP di baris perintah berbeza dengan versi laman web?
J: Persekitaran baris perintah (dikawal melalui .servbay.config
) dan persekitaran laman web (dikawal via antara muka grafik ServBay) adalah bebas antara satu sama lain. Fail .servbay.config
hanya mempengaruhi di mana arahan php
dalam sesi terminal akan menunjuk; konfigurasi laman web menentukan versi PHP-FPM yang akan memproses permintaan web melalui pelayan (Apache/Nginx/Caddy). Tiada konflik langsung antara keduanya. Anda boleh menetapkan versi PHP berlainan untuk baris perintah (contohnya untuk Composer/Artisan) dan laman web, tetapi disyorkan agar versi PHP kekal seragam untuk konsistensi pembangunan & produksi.
Kesimpulan
Dengan fail .servbay.config
dan antara muka grafik yang mudah digunakan, ServBay memberi kuasa pengurusan versi PHP yang fleksibel untuk pembangun. Sama ada anda menyelenggara projek legasi yang memerlukan PHP lama ataupun membina aplikasi baharu dengan PHP terkini, ServBay menyokong anda dengan mudah. Gunakan fungsi ini secara optimum supaya persekitaran pembangunan anda selari dengan produksi, sekaligus meningkatkan kecekapan dan kestabilan projek anda.