Cara Mengaktifkan Modul Swoole untuk PHP dalam ServBay
ServBay merupakan satu persekitaran pembangunan web tempatan yang hebat dengan pelbagai alat dan sambungan yang diperlukan oleh pembangun, termasuk sambungan Swoole PHP berprestasi tinggi. Swoole ialah enjin rangkaian komunikasi asinkron, selari, dan berprestasi tinggi yang dibangunkan khas untuk PHP, mampu meningkatkan prestasi dan skalabiliti aplikasi PHP dengan ketara. Artikel ini akan menerangkan secara terperinci tentang cara mengaktifkan sambungan Swoole di dalam ServBay dengan mudah, membantu anda memanfaatkan keupayaannya untuk membina aplikasi dan servis PHP yang lebih efisien.
Mengenai Kerangka Swoole
Swoole merupakan projek sumber terbuka yang menawarkan ciri-ciri lanjutan untuk PHP seperti asinkron I/O, korutin, multiproses—mirip Node.js. Dengan Swoole, pembangun PHP boleh membuang batasan model blok segerak tradisional web server (seperti Apache/Nginx + PHP-FPM), lalu membina servis berprestasi tinggi yang sentiasa bermemori, antaranya:
- API Gateway berprestasi tinggi
- Aplikasi komunikasi masa nyata (WebSocket)
- Pelayan permainan
- Aplikasi Internet of Things (IoT)
- Servis latar belakang dan pemprosesan tugasan
Ciri Utama Swoole
- Prestasi Tinggi: Menggunakan panggilan sistem seperti epoll/kqueue untuk I/O asinkron tidak blok, digabungkan dengan multithread/multiproses/korutin untuk kadar pemprosesan tinggi dan kependaman rendah.
- Asinkron & Korutin: Menyediakan keupayaan korutin supaya kod asinkron boleh ditulis seperti kod segerak, meningkatkan kecekapan pembangunan.
- Komponen Kaya: Termasuk pelayan & klien HTTP, WebSocket, TCP, UDP terbina dalam, beserta connection pool, timer, pengurusan proses dan sebagainya.
- Mudah Integrasi: Boleh digunakan bersama rangka kerja PHP sedia ada (seperti Laravel, Symfony, ThinkPHP) atau membina aplikasi asli Swoole yang baru.
Sokongan Modul Swoole dalam ServBay
ServBay telah memasang sambungan Swoole untuk pelbagai versi PHP—anda tidak perlu muat turun atau pasang secara manual. ServBay akan mengurus padanan versi Swoole yang serasi untuk setiap versi PHP.
Pada masa ini, ServBay menyokong pengaktifan Swoole untuk versi PHP berikut:
- PHP 5.6
- Siri PHP 7.x
- Siri PHP 8.x (termasuk PHP 8.5)
ServBay akan secara automatik memadankan dan menyediakan fail sambungan Swoole yang bersesuaian berdasarkan versi PHP yang anda pilih.
Prasyarat
Sebelum mengaktifkan modul Swoole, pastikan:
- Anda telah berjaya memasang dan menjalankan ServBay.
- Anda telah memasang dan memilih versi PHP yang ingin digunakan bersama Swoole dalam ServBay.
Langkah-langkah Mengaktifkan Modul Swoole
ServBay menawarkan dua kaedah untuk mengaktifkan Swoole: melalui antara muka grafik (GUI) atau dengan mengedit fail konfigurasi secara manual. Cara GUI adalah paling mudah dan disyorkan.
Aktifkan Melalui ServBay GUI (Disyorkan)
Ini adalah cara paling mudah dan pantas:
- Buka antara muka grafik pengguna (GUI) ServBay.
- Pilih Languages (Bahasa) di bar navigasi kiri.
- Klik PHP.
- Dalam senarai versi PHP di sebelah kanan, cari versi PHP yang ingin anda aktifkan Swoole (contoh:
PHP 8.3
) dan pastikan versi tersebut dipilih (bulatan berwarna hijau). - Klik butang Extensions (Sambungan) di sebelah kanan versi PHP tersebut.
- Dalam senarai sambungan yang timbul, cari sambungan swoole.
- Aktifkan suis di sebelah kiri sambungan swoole (suis menjadi hijau).
- Klik butang Save (Simpan) atau Apply (Terapkan) di bahagian bawah tetingkap.
- ServBay akan meminta anda untuk restart servis PHP yang berkaitan bagi memuatkan sambungan baru. Klik Restart (Mulakan Semula).
Tunggu servis dimulakan semula. Modul Swoole kini telah berjaya diaktifkan.
Edit Fail Konfigurasi Secara Manual (Lanjutan)
Bagi anda yang memerlukan tetapan lebih lanjut atau ingin mengurus fail konfigurasi secara manual, boleh mengedit fail ini
PHP secara langsung untuk mengaktifkan Swoole.
Cari direktori konfigurasi
conf.d
untuk versi PHP yang berkaitan. Direktoriconf.d
digunakan untuk menyimpan fail konfigurasi tambahan untuk sambungan PHP. ServBay akan memuatkan semua fail.ini
di dalam direktori ini. Sebagai contoh, untuk PHP 8.3, laluan biasanya seperti berikut:/Applications/ServBay/etc/php/8.3/conf.d/
1Jika anda memilih laluan pemasangan lain semasa memasang ServBay, sila sesuaikan berdasarkan laluan sebenar.
Dalam direktori tersebut, cari dan buka fail
swoole.ini
.Secara lalai, baris untuk mengaktifkan Swoole mungkin dikomen keluar (bermula dengan
;
). Cari baris berikut:ini[Swoole] ; Uncomment the following line to enable Swoole ;extension = swoole.so
1
2
3Padam simbol
;
di hadapanextension = swoole.so
untuk mengaktifkannya:ini[Swoole] ; Uncomment the following line to enable Swoole extension = swoole.so
1
2
3Simpan fail
swoole.ini
.Dalam antara muka utama GUI ServBay atau panel pengurusan servis, cari servis PHP yang berkaitan dan klik butang mulakan semula.
Selepas restart, modul Swoole akan dimuatkan berdasarkan konfigurasi fail ini
.
Pengesahan Pengaktifan Modul Swoole
Cara paling biasa ialah menyemak modul yang dimuatkan dalam PHP menerusi fungsi phpinfo()
.
- Dalam direktori root laman web yang dikendalikan oleh ServBay (contoh:
/Applications/ServBay/www/servbay.demo/public/
), cipta satu fail bernamaphpinfo.php
. - Edit
phpinfo.php
dan masukkan kandungan berikut:php<?php phpinfo(); ?>
1
2
3 - Pastikan anda telah mengkonfigurasi laman
servbay.demo
dalam ServBay dan direktori merujuk ke lokasiphpinfo.php
tersebut. - Layari URL fail itu di pelayar web, contohnya
https://servbay.demo/phpinfo.php
. - Dalam halaman
phpinfo
yang terbuka, skrol ke bawah atau gunakan fungsi carian pelayar (Ctrl+F atau Cmd+F) dan cari kata kunci "swoole".
Jika anda melihat maklumat berkaitan Swoole—termasuk nombor versi dan tetapan—modul Swoole telah berjaya dimuatkan dan diaktifkan.
Ilustrasi: Cari maklumat Swoole dalam halaman phpinfo
Contoh Penggunaan Swoole
Selepas modul Swoole diaktifkan, anda boleh mula membina aplikasi berasaskan Swoole. Berikut adalah contoh ringkas membina pelayan HTTP menggunakan Swoole.
Kod Contoh: Membina Swoole HTTP Server Asas
Cipta direktori projek Dalam direktori pembangunan anda (contoh
/Applications/ServBay/www/
), cipta satu subdirektori baru, sepertimy-swoole-app
. Di dalamnya, wujudkan pula direktoripublic
untuk meletakkan fail masuk.bashcd /Applications/ServBay/www/ mkdir my-swoole-app cd my-swoole-app mkdir public
1
2
3
4Cipta fail masuk pelayan
public/index.php
php<?php require __DIR__ . '/../vendor/autoload.php'; // Jika anda menggunakan Composer untuk pemasangan perpustakaan lain use Swoole\Http\Server; use Swoole\Http\Request; use Swoole\Http\Response; // Cipta instans pelayan HTTP, dengar pada semua IP tempatan (0.0.0.0) port 9501 $server = new Server("0.0.0.0", 9501); // Tetapan parameter pelayan (pilihan) // $server->set([ // 'worker_num' => 4, // Bilangan proses kerja // 'daemonize' => false, // Jalankan sebagai proses daemon atau tidak // ]); // Dengar event permintaan $server->on("request", function (Request $request, Response $response) { // Set header respons $response->header("Content-Type", "text/plain"); // Set badan respons $response->end("Hello ServBay with Swoole!"); }); // Dengar event pelayan bermula (pilihan) $server->on("start", function (Server $server) { echo "Swoole http server is started at http://0.0.0.0:9501\n"; }); // Mulakan pelayan $server->start(); echo "Swoole server stopped.\n"; // Kod ini hanya akan dijalankan selepas pelayan dihentikan
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
30
31
32
33
34
35Nota: Baris
require __DIR__ . '/../vendor/autoload.php';
hanya perlu jika anda menggunakan Composer untuk memasang perpustakaan Swoole tambahan (sepertiswoole/ide-helper
atau kerangka Swoole). Jika aplikasi anda menggunakan kod Swoole asli sahaja, baris ini boleh dibuang.Jalankan server melalui terminal Buka Terminal ServBay atau gunakan terminal sistem, navigasi ke direktori projek anda (
/Applications/ServBay/www/my-swoole-app/
). Pastikan terminal menggunakan versi PHP yang diurus oleh ServBay (semak denganwhich php
, atau gunakan Terminal dalam ServBay).Jalankan arahan berikut untuk memulakan pelayan Swoole:
shphp public/index.php
1Jika berjaya, anda akan melihat output seperti "Swoole http server is started at http://0.0.0.0:9501" di terminal.
Ilustrasi: Menjalankan pelayan Swoole dalam terminal
Uji Akses Setelah pelayan bermula, buka pelayar dan lawati
http://localhost:9501
. Anda akan melihat paparan "Hello ServBay with Swoole!".Untuk menghentikan server di terminal, tekan
Ctrl + C
.
Perkara Penting
- Cara Jalankan: Contoh di atas menunjukkan pelayan Swoole dijalankan terus dari baris arahan. Kaedah ini sesuai untuk servis yang sentiasa bermemori. Aplikasi web tradisional (seperti Laravel/Symfony/WordPress) kebiasaannya berjalan di bawah PHP-FPM dan diakses melalui Caddy atau Nginx. Jika anda ingin menggunakan Swoole sepenuhnya (seperti Hyperf, Swoole-Laravel), biasanya anda perlu menggunakan skrip permulaan khusus yang disediakan kerangka tersebut.
- Penggunaan Port: Pelayan Swoole akan mendengar pada port tertentu (contoh: 9501). Pastikan tiada aplikasi lain menggunakan port tersebut.
- Log Ralat: Ralat dan output Swoole biasanya dipaparkan terus dalam terminal atau mengikut tetapan log fail yang anda konfigurasikan.
Soalan Lazim (FAQ)
S: Saya sudah aktifkan Swoole di GUI ServBay, tapi tiada maklumat Swoole dalam halaman phpinfo()
. Apa yang perlu saya buat?
J: Sila semak perkara berikut:
- Pastikan anda melihat halaman
phpinfo()
untuk versi PHP yang betul. ServBay boleh menjalankan beberapa versi PHP serentak, jadi pastikan laman web atau perintah terminal yang digunakan benar-benar merujuk kepada versi PHP yang telah diaktifkan Swoole. - Pastikan selepas membuat perubahan dalam GUI ServBay anda telah menyimpan dan memulakan semula servis PHP yang berkaitan.
- Jika anda mengedit fail
swoole.ini
secara manual, pastikan laluan, nama fail, dan barisextension = swoole.so
adalah betul dan tidak dikomen keluar.
S: Kenapa saya dapat ralat 'Class "Swoole\Http\Server" not found' apabila jalankan contoh Swoole?
J: Biasanya ini bermakna sambungan Swoole tidak berjaya dimuatkan dalam persekitaran PHP yang digunakan. Sila semak kembali sama ada Swoole sudah diaktifkan dan pastikan perintah php public/index.php
dijalankan menggunakan PHP yang diurus dan diaktifkan Swoole melalui ServBay. Anda boleh menyemak modul dengan menjalankan php -m | grep swoole
di terminal.
Rumusan
Dengan ServBay, mengaktifkan sambungan Swoole untuk PHP sangat mudah. Sama ada melalui antara muka grafik yang intuitif atau dengan suntingan fail konfigurasi manual, pembangun boleh memuatkan sambungan Swoole untuk mana-mana versi PHP pilihan, seterusnya memulakan pembangunan aplikasi web asinkron berprestasi tinggi dengan pantas. Gunakan keupayaan Swoole untuk membina servis PHP yang responsif dan tahan beban, dan manfaatkan pengurusan persekitaran yang mudah oleh ServBay supaya anda boleh fokus kepada pembangunan kod tanpa perlu risau tentang konfigurasi persekitaran.