Panduan Konfigurasi PHP ServBay: Laras php.ini, PHP-FPM & Sambungan Modul
ServBay menyediakan persekitaran pembangunan PHP tempatan yang berkuasa serta fleksibel untuk pembangun web. Mengikut keperluan projek berbeza, anda mungkin perlu melaraskan pelbagai tetapan PHP seperti had memori, saiz muat naik fail, aras pelaporan ralat atau mengaktifkan modul sambungan tertentu.
Artikel ini memperincikan cara mengubah konfigurasi PHP dalam ServBay. ServBay mengesyorkan dan menyediakan antara muka pengguna grafik (UI) yang mudah untuk mengurus semua tetapan ini. Walaupun mengetahui lokasi fail konfigurasi asas seperti php.ini
dan php-fpm.conf
boleh membantu, sangat disarankan agar sentiasa mengubah konfigurasi melalui UI ServBay bagi memastikan kesinambungan dan keserasian tetapan.
Nota Penting
Sila jangan ubah suai fail konfigurasi PHP yang dijana oleh ServBay secara manual (terletak di /Applications/ServBay/etc/php/<version>/
dan subdirektorinya). Fail tersebut dikawal oleh ServBay; sebarang perubahan manual akan ditimpa apabila ServBay dikemas kini, dimulakan semula, atau semasa operasi berkaitan lain. Semua perubahan konfigurasi hendaklah dilakukan melalui antara muka pengguna ServBay.
Ringkasan
Dalam ServBay, fail konfigurasi bagi setiap versi PHP disimpan di direktori tersendiri. Sebagai contoh, fail konfigurasi utama PHP 8.3 terletak di direktori /Applications/ServBay/etc/php/8.3
.
Fail konfigurasi utama merangkumi:
php.ini
: Fail konfigurasi utama PHP yang mempengaruhi tetapan umum dalam CLI dan persekitaran web.php-fpm.conf
: Fail konfigurasi PHP-FPM (FastCGI Process Manager), terutamanya mengatur prestasi dan cara PHP dijalankan oleh pelayan web (seperti Caddy atau Nginx).conf.d/
: Direktori ini memuatkan fail konfigurasi muatan (fail.ini
) setiap modul sambungan PHP, sepertixdebug.ini
,opcache.ini
dan sebagainya.
Meskipun fail-fail ini wujud, ServBay menyediakan kaedah yang lebih selamat dan mudah untuk mengubah sesetengah tetapan.
Konfigurasi Melalui UI ServBay (Disarankan)
ServBay menawarkan antara muka grafik yang intuitif bagi membolehkan anda mengubah parameter konfigurasi PHP secara terus. Setelah perubahan dibuat dan disimpan di UI, ServBay akan segera menerapkan perubahan tersebut dan, jika wajar (kebiasaannya automatik), memulakan semula perkhidmatan PHP. Tiada keperluan untuk menyunting fail secara manual atau menggunakan arahan terminal.
Untuk mengakses antara muka konfigurasi PHP:
- Buka tetingkap utama ServBay.
- Di bar navigasi sebelah kiri, klik Bahasa.
- Dalam senarai bahasa pembangunan, cari dan pilih versi PHP yang anda ingin konfigurasikan (contohnya, klik pada
PHP 8.3
). - Panel kanan akan memaparkan maklumat terperinci dan pilihan konfigurasi untuk versi PHP terpilih.
Contoh antara muka konfigurasi PHP adalah seperti berikut:
Biasanya bahagian ini terbahagi kepada tiga segmen utama, masing-masing untuk konfigurasi PHP-FPM, PHP (php.ini
), serta modul sambungan PHP. Mari lihat satu per satu.
Konfigurasi PHP FPM
Tip
Konfigurasi php-fpm.conf
utamanya mempengaruhi tingkah laku PHP dalam persekitaran pelayan web. Sebarang perubahan di bahagian ini dalam UI ServBay akan mengatasi (menimpa) tetapan serupa dalam php.ini
, namun hanya untuk permintaan web. Tetapan ini tidak mempengaruhi PHP yang dijalankan melalui antaramuka arahan (CLI).
Perkhidmatan web ServBay (Caddy atau Nginx) menghubungkan PHP melalui PHP-FPM. Antara muka konfigurasi PHP FPM membolehkan anda melaras pelbagai parameter yang mempengaruhi prestasi dan kestabilan di persekitaran web, seperti:
- Pengurusan proses (
pm
): Mengawal cara PHP-FPM menjana dan mengurus proses pekerja (sepertidynamic
,static
). - Bilangan proses (
pm.max_children
,pm.start_servers
, dsb.): Menetapkan bilangan maksimum proses anak, berapa proses diwujudkan semasa permulaan, dan sebagainya; ini mempengaruhi keupayaan pemprosesan berbilang-pengguna. - Had memori (
memory_limit
): Larasan di sini akan menimpa tetapan bernama sama dalamphp.ini
, tetapi hanya untuk permintaan web. - Log dan paparan ralat: Mengkonfigurasi laluan log ralat, aras-kaedah pelaporan ralat dan sama ada mesej ralat dipaparkan di pelayar.
Sebagai contoh, jika anda ingin menaikkan had memori PHP di web dari nilai lalai (seperti 64M atau 128M) kepada 1G, cuma cari pilihan memory_limit
di bahagian konfigurasi PHP FPM dalam ServBay UI, pilih 1G
dari menu turunan, kemudian klik Simpan. Larasan ini hanya akan menjejaskan skrip PHP yang diakses melalui pelayan web; skrip yang dijalankan melalui baris arahan masih tertakluk pada nilai memory_limit
dalam php.ini
.
Perbandingan contoh: Jika memory_limit
dalam php.ini
diset kepada 512M
, manakala di konfigurasi PHP FPM bernilai 128M
:
- Menjalankan skrip PHP dalam CLI — had memori yang tersedia ialah
512M
. - Mengakses skrip PHP melalui web — had memori yang tersedia ialah
128M
.
Konfigurasi php.ini
Tip
Tetapan dalam php.ini
bersifat global dan mempengaruhi tingkah laku PHP dalam kedua-dua persekitaran CLI serta web. Namun, seperti diterangkan, tetapan bernama sama di konfigurasi PHP FPM akan menimpa nilai dalam php.ini
bagi persekitaran web.
Bahagian konfigurasi PHP merangkumi tetapan asas fail php.ini
. Ia termasuk pelbagai pilihan umum waktu larian PHP seperti:
post_max_size
: Mengehadkan saiz maksimum data yang dikirim menerusi POST.upload_max_filesize
: Mengehadkan saiz maksimum fail yang boleh dimuat naik.date.timezone
: Menetapkan zon masa lalai yang digunakan PHP.display_errors
/error_reporting
: Mengawal sama ada mesej ralat dipaparkan di pelayar, serta aras ralat yang akan dilapor.max_execution_time
: Menentukan masa maksimum (saat) sesebuah skrip boleh berjalan.disable_functions
/disable_classes
: Menyahaktifkan fungsi atau kelas PHP tertentu untuk keselamatan tambahan.open_basedir
: Mengehadkan laluan sistem fail yang boleh diakses PHP. Adalah disarankan semua projek laman web anda disimpan dalam direktori utama ServBay/Applications/ServBay/www
, jadi anda boleh menetapkan hanya lokasi ini padaopen_basedir
tanpa perlu menyenaraikan banyak laluan.
Anda boleh mengubah tetapan biasa php.ini
ini terus dari UI ServBay.
Untuk maklumat lanjut tentang semua pilihan dalam php.ini
, sila rujuk dokumentasi rasmi PHP: PHP Runtime Configuration.
Konfigurasi Modul Sambungan PHP
ServBay telah menyepadukan pelbagai modul sambungan PHP yang paling lazim digunakan — dari sambungan spatial ke sistem pangkalan data, cache, sokongan rangka kerja, dan alat debugging. UI ServBay memudahkan anda mengaktif/nyahaktifkan modul-modul ini serta melaras tetapan khasnya.
Di antara modul sambungan PHP popular yang disokong ServBay termasuk (tidak terhad kepada): xDebug
, OPcache
, ImageMagick
, Redis
, MongoDB
, Phalcon
, Swoole
, dan banyak lagi. ServBay juga menyokong pelbagai sambungan untuk pangkalan data (MySQL, PostgreSQL, MongoDB), sistem mesej beratur, cache dan lain-lain.
Mengaktifkan atau menyahaktifkan sambungan PHP sangat mudah:
- Pada UI konfigurasi PHP ServBay, tukar ke tab “Sambungan Modul” atau yang serupa.
- Cari modul yang anda perlukan (contoh
xdebug
). - Klik butang suis untuk aktif/nyahaktif.
- Jika modul tersebut menawarkan tetapan tambahan (cth.
xDebug
), anda boleh melaras nilainya sepertixdebug.mode
,xdebug.client_port
dan lain-lain terus dari UI. - Klik Simpan untuk melaksanakan perubahan.
Bagi senarai penuh modul sambungan PHP yang disokong serta maklumat terperinci terkini, sila rujuk Senarai Sambungan PHP dalam dokumen rasmi ServBay (sentiasa rujuk versi terbaharu).
Memahami Struktur Fail Konfigurasi PHP (Tidak Digalakkan Edit Manual)
Walaupun sangat disarankan anda menggunakan UI ServBay untuk sebarang perubahan konfigurasi, mengetahui lokasi dan struktur fail konfigurasi asas akan membantu memperdalam kefahaman anda tentang cara PHP berfungsi.
Fail konfigurasi PHP yang dijana ServBay terletak di /Applications/ServBay/etc/php/<version>/
.
php.ini
: Fail konfigurasi utama.php-fpm.conf
: Fail konfigurasi pengurus proses PHP-FPM.conf.d/
: Mengandungi fail.ini
bagi modul sambungan.
Contoh Struktur Fail php.ini
Fail php.ini
menggunakan format INI. Antara contoh baris tetapan biasa dalam fail ini ialah:
ini
; Laras had memori
memory_limit = 256M
; Laras had saiz muat naik fail
upload_max_filesize = 50M
post_max_size = 50M
; Laras tetapan zon masa
date.timezone = "Asia/Shanghai" ; atau "UTC", "America/New_York" dsb., laraskan mengikut keperluan
; Aktifkan paparan ralat (Hanya untuk pembangunan!)
display_errors = On
error_reporting = E_ALL
; Laras masa maksimum eksekusi
max_execution_time = 300
; Laras sekatan akses laluan fail 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 Fail php-fpm.conf
Fail konfigurasi php-fpm.conf
mengandungi tetapan global serta bagi kolam (pool) proses. Lazimnya, ServBay menyediakan satu kolam lalai bernama www
.
ini
[global]
; Laluan log ralat global
error_log = /Applications/ServBay/logs/php/8.3/errors.log
[www]
; Alamat dan port/listen socket
listen = /Applications/ServBay/tmp/php-cgi-8.3.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
; Pengguna & kumpulan (ServBay biasanya dijalankan sebagai pengguna semasa)
; user = servbay-demo
; group = staff
; Kaedah pengurusan proses (static, dynamic, ondemand)
pm = dynamic
pm.max_children = 10 ; Bilangan proses anak maksimum
pm.start_servers = 2 ; Bilangan proses dicipta semasa permulaan
pm.min_spare_servers = 1 ; Proses anak minimum yang sedia ada
pm.max_spare_servers = 6 ; Proses anak maksimum yang dibiarkan sedia ada
pm.max_requests = 1024 ; Maksimum bilangan permintaan setiap proses sebelum diulang semula (elak kebocoran memori)
; Aktifkan log perlahan (masa eksekusi melebihi request_slowlog_timeout dicatat ke slowlog)
request_slowlog_timeout = 5s
slowlog = /Applications/ServBay/logs/php/8.3/slow.log
; Tetapan php, menimpa nilai dalam 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 Muatan Modul PHP (conf.d/)
Fail .ini
dalam direktori conf.d/
digunakan untuk memuat dan mengkonfigurasi sambungan PHP tertentu. Contoh, fail xdebug.ini
mungkin mengandungi tetapan seperti berikut:
ini
[Xdebug]
; Muatkan sambungan Xdebug
zend_extension = xdebug.so
; Mod Xdebug (debug, develop, profile, trace, coverage)
xdebug.mode=debug,develop
; Kaedah mula debugging (yes, trigger, develop)
; yes: sentiasa aktifkan debugging
; trigger: aktif mengikut pencetus tertentu (seperti GET/POST/cookie)
; develop: hanya untuk ciri bantuan pembangunan (seperti menjejak tumpukan)
xdebug.start_with_request=yes
; Host & port klien, untuk sambungan ke IDE debugging
xdebug.client_host=localhost
xdebug.client_port=39083
; Laluan 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
Peringatan: Walaupun fail-fail ini boleh diakses, elakkan daripada mengubahnya secara manual. Gunakan UI ServBay untuk pelarasan konfigurasi.
Mengaplikasi Perubahan: Mulakan Semula Perkhidmatan PHP
Selepas anda membuat perubahan dari UI ServBay, ServBay lazimnya akan mengesannya dan memohon perubahan secara automatik. Dalam beberapa senario, anda mungkin perlu memulakan semula servis PHP berkaitan supaya semua tetapan baharu berkuat kuasa.
Anda boleh mulakan semula servis PHP dengan:
Mulakan Semula Melalui Antara Muka Pengguna ServBay
- Buka tetingkap utama ServBay.
- Di bar navigasi kiri, klik Pakej.
- Cari versi PHP yang anda telah ubah suai.
- Klik butang mula semula di sebelah versi PHP berkenaan (biasanya ikon anak panah kitaran).
Mulakan Semula Melalui Alat Baris Arahan servbayctl
Untuk pembangun yang biasa dengan terminal, anda boleh menggunakan alat baris arahan servbayctl
yang disediakan ServBay bagi mengurus servis — termasuk but semula PHP versi tertentu.
Buka Terminal, jalankan perintah berikut (gantikan 8.3
dengan versi PHP yang anda ingin mula semula):
bash
servbayctl restart php 8.3
1
Setelah perintah ini dijalankan, ServBay akan memulakan semula proses PHP-FPM yang berkaitan, membolehkan semua tetapan baharu diaktifkan.
Soalan Lazim (FAQ)
S: Saya menyunting fail
php.ini
secara manual, kenapa perubahan tidak diguna pakai atau hilang?- J: ServBay mengurus dan menjana semula fail konfigurasi pakej perisian. Sebarang perubahan manual boleh ditimpa semasa konfigurasi dikemas kini, servis dimulakan semula, atau semasa operasi dalaman lain. Sentiasa gunakan antara muka pengguna ServBay untuk tetapan kekal dan sah.
S: Bagaimana menambah had memori PHP atau saiz muat naik fail?
- J: Buka UI ServBay dan navigasi ke Bahasa -> pilih versi PHP yang ingin diubah suai. Laraskan
memory_limit
di bahagian PHP FPM (kesan kepada Web), danupload_max_filesize
sertapost_max_size
di bahagian php.ini (kesan seluruh sistem; untuk Web mungkin diatasi FPM). Simpan tetapan dan mulakan semula servis PHP.
- J: Buka UI ServBay dan navigasi ke Bahasa -> pilih versi PHP yang ingin diubah suai. Laraskan
S: Bagaimana mengaktifkan atau mengkonfigurasi Xdebug?
- J: Buka UI ServBay dan pergi ke Bahasa -> pilih versi PHP. Di modul sambungan, cari
xdebug
, aktifkan dan laras tetapan sepertixdebug.mode
,xdebug.client_host
,xdebug.client_port
mengikut keperluan IDE/debugger anda. Simpan dan mulakan semula PHP.
- J: Buka UI ServBay dan pergi ke Bahasa -> pilih versi PHP. Di modul sambungan, cari
S: Apakah beza antara
php.ini
dan konfigurasi PHP-FPM? Bahagian mana patut saya ubah?- J:
php.ini
adalah fail konfigurasi global PHP — mempengaruhi CLI dan Web. Konfigurasi PHP-FPM (php-fpm.conf
) khusus untuk operasi PHP dalam pelayan web, serta tetapan bernama sama akan menimpa nilaiphp.ini
bagi Web. Biasanya, laraskan PHP-FPM untuk tetapan persekitaran web (cth. had memori/masa/ralat), dan ubahphp.ini
untuk tetapan am atau CLI (cth. zon masa, fungsi dinyahaktifkan). UI ServBay memisahkan tetapan ini dengan jelas untuk kemudahan anda.
- J:
Rumusan
ServBay melalui antara muka penggunanya menawarkan jalan selamat dan mudah untuk mengurus pelbagai konfigurasi PHP — meliputi php.ini
, PHP-FPM, dan modul sambungan. Dengan membuat perubahan di UI dan memulakan semula PHP, anda memastikan persekitaran pembangunan sentiasa mengikut keperluan projek. Ketahui juga lokasi fail konfigurasi untuk kefahaman, namun elakkan edit manual bagi mengelak penimpaan perubahan. Manfaatkan kuasa kawalan konfigurasi ServBay bagi menyesuaikan persekitaran PHP anda mengikut keperluan projek yang berbeza dengan mudah.