Pengurusan Versi PHP ServBay: Panduan Konfigurasi Baris Arahan & Persekitaran Laman Web
ServBay ialah alat pembangunan Web tempatan yang berkuasa, direka khas untuk macOS, menyokong pelbagai bahasa pengaturcaraan dan pangkalan data. Artikel ini menerangkan secara terperinci cara mengurus versi PHP yang berbeza dalam ServBay secara fleksibel untuk setiap projek, sama ada untuk skrip baris arahan atau servis laman web tertentu. Menguasai mekanisme pengurusan versi PHP ServBay akan meningkatkan kecekapan anda, memastikan pengasingan persekitaran projek dan kestabilan sistem.
1. Persekitaran Baris Arahan: Urus Versi PHP Projek dengan .servbay.config
Dengan mencipta fail konfigurasi .servbay.config
di direktori utama projek anda, anda boleh menetapkan versi PHP baris arahan yang berbeza mengikut projek. ServBay akan secara automatik memuatkan persekitaran PHP yang betul berdasarkan direktori terminal semasa, membolehkan pengasingan versi PHP antara projek dan mengelakkan konflik konfigurasi global.
1.1 Fungsi & Prinsip .servbay.config
- Kawalan Versi pada Tahap Projek: ServBay menyokong pemasangan dan penggunaan beberapa versi PHP serentak, bermula daripada PHP 5.6 hingga versi stabil dan pembangunan terkini. Dengan
.servbay.config
, anda boleh memilih versi PHP tertentu untuk setiap projek. - Tukar Tanpa Gangguan: Bila anda menggunakan perintah
cd
untuk memasuki direktori projek yang mengandungi.servbay.config
, ServBay akan mengesan fail ini dan sementara mengubah pembolehubah persekitaran sesi terminal (terutamanyaPATH
), memastikan perintah sepertiphp
,composer
dan lain-lain menunjuk kepada versi PHP yang ditetapkan. Setelah anda keluar direktori tersebut, persekitaran anda akan kembali ke tetapan global ServBay. Kaedah ini tidak meninggalkan sebarang kesan pada persekitaran sistem.
1.2 Cara Konfigurasi
Cipta fail bernama .servbay.config
di direktori utama projek anda dan isikan kandungan seperti berikut untuk menetapkan versi PHP:
bash
# Tetapkan versi PHP untuk projek ini (contoh: gunakan PHP 8.3)
PHP_VERSION=8.3
# Jika projek anda juga memerlukan versi Node.js tertentu, anda boleh tambah sekali (contoh: gunakan Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
- Nilai
PHP_VERSION
mestilah penunjuk versi PHP yang telah dipasang dalam ServBay, biasanya nombor versi utama atau versi utama + minor (cth:7.4
,8.1
,8.3
,8.5
). Pastikan versi ini telah dipasang dan diaktifkan dalam ServBay. NODE_VERSION
boleh digunakan untuk pilih versi Node.js bagi projek tersebut.
Cara Semak Berfungsi:
Buka terminal pada direktori yang mengandungi fail .servbay.config
dan jalankan perintah berikut untuk mengesahkannya:
bash
$ pwd # Pastikan anda di direktori utama projek
$ php -v # Semak versi PHP yang dipaparkan adalah seperti yang ditetapkan (contoh: PHP 8.3.x)
$ composer install # Resolusi dan pemasangan kebergantungan berdasarkan versi PHP yang aktif
1
2
3
2
3
Jika versi PHP tidak bertukar selepas anda mengedit .servbay.config
, cuba tutup dan buka semula terminal atau gunakan perintah cd .
untuk memaksa ServBay memuatkan semula konfigurasi.
1.3 Perhatian dan Tip Lanjutan
- Keserasian Versi: Jika anda dapati ralat seperti "Class not found", "Call to undefined function", semak dahulu julat versi PHP dalam kebergantungan projek anda (seperti dalam
composer.json
), dan pastikan versi PHP yang anda pilih serasi dengan projek dan kebergantungan tersebut. Projek lama mungkin memerlukan fungsi atau sambungan yang telah dibuang dalam versi terkini PHP (seperti sambunganmcrypt
yang dihentikan sejak PHP 7.2). - Nilai Lalai Global: Jika direktori semasa atau induknya tiada fail
.servbay.config
, ServBay akan menggunakan versi PHP lalai yang telah anda tetapkan dalam menu "Settings" antaramuka grafiknya. - Gabungan Pelbagai Servis:
.servbay.config
bukan sahaja mengurus versi PHP, malah menyokong penetapan Node.js melaluiNODE_VERSION
, sesuai untuk projek di mana PHP digunakan untuk backend dan Node.js untuk alat build frontend (seperti Webpack, Vite).
1.4 Contoh Penggunaan
Berikut contoh demonstrasi bagaimana .servbay.config
membolehkan penukaran versi PHP secara automatik antara direktori projek:
Penerangan gambar: Dalam ServBay, apabila anda memasuki direktori dengan fail
.servbay.config
yang berbeza, perintah php -v
di terminal akan menunjukkan versi PHP bertukar mengikut fail yang ditetapkan.
2. Persekitaran Laman Web: Urus Versi PHP Melalui Antaramuka Grafik ServBay
Antaramuka grafik ServBay memudahkan anda menetapkan versi PHP khusus untuk setiap laman web. Versi PHP untuk persekitaran laman web adalah berasingan dengan persekitaran baris arahan, membolehkan pemilihan mengikut keperluan sebenar laman tersebut.
2.1 Langkah Konfigurasi
- Buka Antaramuka Grafik ServBay: Lancarkan aplikasi ServBay.
- Masuk ke Pengurusan Laman Web: Klik pada tab Websites di bar navigasi kiri antara muka utama.
- Tambah atau Edit Laman Web:
- Klik butang + di bawah kiri untuk tambah konfigurasi laman web baru.
- Pilih konfigurasi sedia ada untuk suntingan.
- Tetapkan Atribut Laman Web:
- Root Directory (Direktori Akar): Pilih direktori di mana fail laman web disimpan. Disarankan guna subdirektori di bawah laluan lalai ServBay
/Applications/ServBay/www/
, contohnya:/Applications/ServBay/www/nama-laman-anda/public
(bagi projek Laravel/Symfony). - Domain (Nama Domain): Tetapkan nama domain pembangunan tempatan, misalnya
nama-laman-anda.servbay.demo
. ServBay akan automatik tetapkan DNS tempatan dan sijil HTTPS (guna ServBay User CA atau ServBay Public CA), sangat memudahkan proses pembangunan dan ujian. - PHP Version (Versi PHP): Pilih versi PHP yang ingin digunakan pada laman ini dalam menu drop-down. Semua versi PHP yang telah dipasang dan diaktifkan dalam ServBay akan disenaraikan (cth: 7.4, 8.1, 8.3, 8.5).
- Root Directory (Direktori Akar): Pilih direktori di mana fail laman web disimpan. Disarankan guna subdirektori di bawah laluan lalai ServBay
- Simpan Konfigurasi: Setelah selesai, klik butang simpan. ServBay akan automatik mengaplikasikan perubahan ini, dan mungkin meminta anda untuk reload atau restart pelayan web & PHP-FPM yang berkaitan.
2.2 Perincian Teknikal & Kelebihan
- Pengasingan Servis: Versi PHP untuk setiap laman web diurus melalui proses PHP-FPM pool yang berasingan, memastikan keutuhan persekitaran antara laman. Masalah pada satu laman tidak akan menjejaskan laman lain.
- Optimum Prestasi: Pakej perisian ServBay (termasuk pelbagai versi PHP) dioptimumkan sepenuhnya untuk ARM64 (Apple Silicon) & X86_64 untuk prestasi terbaik di semua perkakasan.
- Penyelesaian Masalah:
- Semak log ralat PHP: Sebarang ralat PHP untuk laman disimpan dalam
/Applications/ServBay/var/log/php/php_error.log
. - Semak status proses PHP-FPM: Gunakan alat CLI
servbayctl
untuk semakan status mengikut versi, contohservbayctl status php 8.3
.
- Semak log ralat PHP: Sebarang ralat PHP untuk laman disimpan dalam
2.3 Integrasi Pelayan Web & Pangkalan Data
ServBay sangat fleksibel, membolehkan anda memilih pelayan web dan pangkalan data mengikut keperluan projek:
- Sokongan Pelayan Web: Bermula versi 1.7.0, anda boleh tukar pelayan web laman dengan mudah: Apache, Nginx, atau Caddy. Kesemuanya bersatu dengan pengurusan PHP-FPM ServBay.
- Pengurusan Pangkalan Data: ServBay menyokong pelbagai versi MySQL, MariaDB, PostgreSQL, MongoDB dan Redis. Anda boleh memilih pangkalan data yang relevan dalam konfigurasi laman atau guna kod projek untuk sambungan ke contoh database tertentu, sesuai untuk projek yang memerlukan jenis/versi khusus (cth, projek Laravel yang bekerja paling baik dengan MariaDB 11.x).
3. Kerjasama Rentas Persekitaran & Amalan Terbaik
Memahami pemisahan dan pengurusan bebas antara versi PHP baris arahan dan versi PHP laman web membantu anda membuat pilihan tepat dalam pelbagai situasi pembangunan:
Senario | Konfigurasi Baris Arahan (.servbay.config ) | Konfigurasi Laman Web (GUI ServBay) | Nota |
---|---|---|---|
Selenggara sistem lama | Konfigurasi PHP_VERSION=5.6 di direktori projek | Pilih PHP 5.6 dalam konfigurasi laman | Pastikan semua keperluan PHP & sambungan projek lama tersedia. |
Pembangunan projek baru (cth: Laravel 11) | PHP_VERSION=8.3 (atau lebih baru), mungkin juga NODE_VERSION=20 | Tambah laman baru, root pada folder public , pilih PHP 8.3+, tetapkan domain pembangunan serta HTTPS | Pastikan CLI (Composer, Artisan, alat build Node) sepadan dengan versi PHP Web. |
Ujian versi PHP masa depan | PHP_VERSION=8.5 untuk projek ujian | Tambah laman ujian, pilih PHP 8.5 | Untuk menguji awal keserasian dengan versi PHP terbaru. |
Jalankan perintah Composer | Pastikan .servbay.config mengandungi versi PHP tepat di direktori semasa atau atasnya | N/A (Composer dijalankan dari baris arahan) | Composer akan guna versi PHP aktif dalam terminal semasa. |
Perhatian
- Perbezaan CLI dan Web: Walaupun nombor versi PHP sama, tetapan lalai dan modul pelanjutan yang dimuat CLI (baris arahan) dan perkhidmatan Web (PHP-FPM) mungkin berbeza. Contohnya, sambungan
opcache
biasanya diaktifkan pada PHP-FPM tetapi dimatikan secara lalai pada CLI. Jika anda mendapati hasil atau perilaku yang tidak sama, semak failphp.ini
khusus untuk versi PHP anda dalam ServBay dan modul yang dimuat. - Kemas Kini Runtime ServBay: Pastikan aplikasi dan runtime ServBay sentiasa dalam versi terkini. Pasukan ServBay secara berkala mengemaskini pakej termasuk versi PHP baru dan patch keselamatan. Mengemas kini ServBay biasanya akan menaik taraf runtime sekali.
Soalan Lazim (FAQ)
S: Bagaimana jika berlaku konflik antara versi PHP baris arahan dan laman web?
J: Persekitaran baris arahan (dikawal melalui .servbay.config
) dan persekitaran laman web (dikawal melalui GUI ServBay) adalah bebas antara satu sama lain. .servbay.config
hanya mempengaruhi perintah php
dalam sesi terminal semasa; tetapan laman web pula menentukan versi PHP yang digunakan oleh pelayan web (Apache/Nginx/Caddy) melalui PHP-FPM bagi permintaan web. Tiada konflik langsung antara kedua-duanya. Anda dibenarkan menggunakan versi PHP berbeza untuk baris arahan dan web bagi projek sama (misalnya Composer/Artisan vs. Web), tetapi demi keseragaman persekitaran pembangunan dan produksi, adalah lebih baik menggunakan versi yang sama untuk kedua-duanya.
Rumusan
ServBay membawakan pengurusan versi PHP yang mantap dan fleksibel melalui fail .servbay.config
serta antaramuka grafik yang intuitif. Sama ada anda menyenggara projek lama bergantung kepada versi PHP usang atau membangunkan aplikasi dengan versi terbaharu, ServBay menawarkan penyelesaian yang mudah dan cekap. Maksimumkan penggunaan fungsi ini untuk membolehkan persekitaran pembangunan tempatan anda lebih hampir dengan produksi, seterusnya meningkatkan kecekapan pembangunan dan kestabilan projek.