Belajar Swoole - Pre-Requisites Skill & Setup Environment
Episode 0 of 26

Belajar Swoole - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh Swoole, kalian perlu menguasai PHP OOP & CLI, Composer dan PSR, dasar TCP/IP & HTTP, serta konsep event loop dan non-blocking I/O. Di episode ini kalian menyiapkan Linux/macOS, PHP 8.3+, menginstall ekstensi Swoole via pecl, dan memverifikasi seluruh environment siap dipakai sepanjang series.

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Selamat datang di series Belajar Swoole! Series ini akan membawa kalian menguasai Swoole — framework networking C++ untuk PHP yang membawa coroutine, async I/O, dan multi-process server — untuk membangun API, WebSocket, IoT, microservices, hingga game server berperforma tinggi. Total ada 26 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.

Sebelum menjalankan php server.php, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena Swoole mengubah cara PHP dieksekusi: bukan lagi "satu proses per request" seperti PHP-FPM, melainkan server long-running dengan event loop, proses multi-worker, dan coroutine. Kalian akan berhadapan langsung dengan konsep network, socket, dan concurrency yang jarang disentuh developer PHP biasa. Tanpa memahami lapisan-lapisan ini, kalian akan kesulitan mendiagnosis mengapa worker crash, kenapa koneksi tidak masuk, atau mengapa memory membengkak.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan PHP + ekstensi Swoole, lalu memverifikasi environment untuk pertama kali.

Skill Dasar yang Wajib Dimiliki

PHP OOP dan CLI

Swoole mengeksekusi kode PHP yang sama dengan yang kalian kenal, tetapi sebagai server process yang memakai event loop. Kalian wajib nyaman menulis PHP OOP (namespace, class, closure), memahami konsep yield dan Generator (fondasi coroutine), serta terbiasa menjalankan skrip lewat CLI:

Cek PHP CLI
php -v

Composer dan PSR

Hampir semua proyek Swoole modern dibangun di atas framework seperti Hyperf atau memakai package dari Packagist. Kalian wajib memahami composer.json, composer install, dan setidaknya akrab dengan standar PSR-4 (autoloading) dan PSR-7 (HTTP message). Contoh kode di series ini bisa langsung dijalankan tanpa framework, tetapi pemahaman PSR akan sangat membantu di episode 15.

Dasar TCP/IP dan HTTP

Swoole adalah perpustakaan networking: ia mendengarkan koneksi TCP, mem-parsing request HTTP, dan mengelola koneksi WebSocket. Kalian wajib paham arah alurnya secara kasar sebelum mendalami detailnya di episode 2:

100%

Konsep Event Loop dan Non-Blocking I/O

Ini yang paling fundamental. PHP-FPM memblokir selama menunggu I/O (database, HTTP call). Swoole, sebaliknya, menunda pekerjaan yang lambat dan melanjutkan tugas lain sambil menunggu. Kalian perlu akrab dengan istilah event loop, callback, blocking vs non-blocking, dan coroutine — semua ini akan dibedah secara detail mulai episode 2 dan 7.

Perangkat Software dan Hardware yang Disiapkan

Linux atau macOS

Swoole memakai fitur kernel Linux (epoll, kqueue di macOS) dan tidak tersedia di Windows. Gunakan Linux (distro apa pun), macOS, atau WSL2/VM Linux di atas Windows:

Cek kernel dan arsitektur
uname -a
uname -m

Swoole 6.x dan OpenSwoole 26.2 sudah mendukung PHP 8.5. Versi minimum yang disarankan untuk series ini adalah 8.3, dengan rekomendasi 8.4/8.5 untuk performa terbaik:

Install PHP dan ekstensi dasar
sudo apt install php-cli php-dev php-mbstring php-curl php-openssl   # Debian/Ubuntu
brew install php                                                       # macOS

php-dev (atau setara php8.x-dev) wajib karena pecl akan meng-compile ekstensi dari source — butuh header PHP.

Ekstensi Swoole via pecl

Cara paling umum adalah pecl install swoole (resmi dari tim Swoole) atau pecl install openswoole (fork komunitas). Swoole 6.x di-install sebagai ekstensi bernama swoole:

Install Swoole via pecl
sudo pecl install swoole

Setelah selesai, aktifkan di php.ini:

Tambahkan di php.ini
extension=swoole.so

Docker (Alternatif dan Opsional)

Tim Swoole menyediakan image Docker resmi phpswoole/swoole yang sudah berisi PHP + Swoole siap pakai — sangat berguna bila kalian tidak ingin mengotori mesin lokal:

Jalankan Swoole via Docker
docker run --rm -it phpswoole/swoole php -v

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment Swoole
php -v
php -m | grep -i swoole
php --ri swoole

php --ri swoole menampilkan informasi lengkap ekstensi: versi Swoole, author, dan daftar build options (misal apakah SSL, coroutine hooks, dan pgsql aktif). Pastikan versi Swoole 6.x dan php -v menunjukkan 8.3+ sebelum melanjutkan.

Note

Kalian cukup membutuhkan ekstensi swoole untuk series ini. Ekstensi tambahan seperti openssl, pgsql, dan sockets baru akan dipakai saat kita membahas TLS (episode 18) dan database (episode 13) — bisa diinstall belakangan secara bertahap.

Struktur Proyek Lab yang Disarankan

Agar contoh di series ini langsung bisa dijalankan, susun proyek dengan struktur sederhana:

Struktur direktori proyek lab
swoole-lab/
  server.php        # entry server (dibuat mulai episode 4)
  worker.php        # proses tambahan (dibahas episode 10-11)
  composer.json     # optional, untuk framework (episode 15)

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill: PHP OOP & CLI, Composer/PSR, dasar TCP/IP & HTTP, dan konsep event loop / non-blocking I/O.
  • Runtime: Linux/macOS dengan PHP 8.3+ terinstall.
  • Ekstensi: Swoole 6.x terinstall via pecl install swoole dan aktif di php.ini.
  • Verifikasi: php --ri swoole mencetak versi Swoole tanpa error.
  • Lab: direktori swoole-lab/ siap untuk kode server.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 25 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.

Penutup

Inti yang harus dibawa pulang:

  • Swoole = ekstensi networking C++ untuk PHP: coroutine, async I/O, multi-process server.
  • Wajib memahami PHP OOP/CLI, dasar TCP/IP & HTTP, dan event loop / non-blocking I/O.
  • Install PHP 8.3+ dan Swoole 6.x via pecl install swoole.
  • Verifikasi dengan php --ri swoole dan php -m.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa kalian membutuhkan Swoole — dari keterbatasan PHP-FPM yang me-restart seluruh aplikasi setiap request, lahirnya Swoole di Tencent pada 2012, hingga perbandingan Swoole vs OpenSwoole dan mengapa Swoole menang benchmark performa di 2026. Pastikan environment kalian sudah siap, karena perjalanan Belajar Swoole baru saja dimulai!

Belajar Swoole - Pre-Requisites Skill & Setup Environment | Belajar Swoole