FrankenPHP di FlyEnv
FrankenPHP adalah server aplikasi PHP modern yang dibangun di atas Caddy. Server ini menyematkan runtime PHP lengkap dan melayani aplikasi PHP secara langsung, tanpa proses PHP-FPM terpisah. FlyEnv mengelolanya dalam modul khusus: pasang beberapa versi FrankenPHP, mulai dan hentikan sebagai layanan, edit Caddyfile, dan baca log tanpa meninggalkan aplikasi. Situs Anda memperoleh port sendiri serta HTTPS otomatis tanpa perlu mengonfigurasi PHP-FPM.

Manajemen versi FrankenPHP
Pasang dan simpan beberapa versi FrankenPHP secara berdampingan dari tab Manajer Versi.
- Sumber pemasangan: build statis pada macOS, Linux, dan Windows, ditambah Homebrew pada macOS dan Linux. FlyEnv otomatis menambahkan tap
dunglas/frankenphpagar formulanya tersedia. MacPorts dan SDKMAN tidak digunakan untuk FrankenPHP. - Pemasangan statis pada macOS dan Linux: FlyEnv mengunduh satu biner FrankenPHP, menyalinnya ke lokasi tujuan, menjadikannya dapat dieksekusi, dan menghapus atribut karantina macOS agar dapat dijalankan.
- Pemasangan statis pada Windows: FrankenPHP didistribusikan sebagai arsip dengan runtime PHP lengkap. Saat pemasangan, FlyEnv otomatis membuat
php.inidari templat dan hanya mengaktifkan ekstensi yang benar-benar tersedia di direktoriext/bawaan. - Kolom versi PHP dan Caddy: tabel versi mengurai
frankenphp --versiondan menampilkan versi PHP tersemat serta Caddy untuk setiap build, sehingga runtime setiap versi FrankenPHP selalu jelas. - Tindakan per versi: buka direktori versi di pengelola berkas; pada Windows, edit juga
php.inibawaan melalui dialog konfigurasi yang sama seperti modul PHP.

Manajemen layanan
Tab Layanan mencantumkan setiap versi FrankenPHP yang terpasang dengan kontrol mulai, hentikan, dan mulai ulang, serta informasi versi PHP dan Caddy di atas.
- FlyEnv meluncurkan versi dengan
frankenphp run --config <baseDir>/frankenphp/Caddyfile --pidfile …, sehingga proses dilacak melalui pidfile dan dapat dihentikan dengan bersih. - Di Linux, layanan dimulai melalui pembantu root FlyEnv bila membutuhkan hak istimewa yang lebih tinggi.
- FrankenPHP melayani situs PHP secara langsung melalui mesin Caddy tersemat; tidak ada proses PHP-FPM yang perlu dipasang, dikonfigurasi, atau dipertahankan berjalan.

Konfigurasi
Tab Berkas Konfigurasi mengedit Caddyfile global yang digunakan FrankenPHP.
- Editor mentah: Caddyfile diedit sebagai teks biasa; FlyEnv tidak membungkusnya dalam formulir.
- Berbasis templat: berkas dibuat dari templat (tersedia dalam bahasa Inggris dan Mandarin) serta mengimpor vhost tiap situs dari
vhost/frankenphp/*, sehingga konfigurasi situs terpisah dari pengaturan global. php.iniWindows: karena build FrankenPHP Windows menyertakan runtime PHP sendiri,php.inisuatu versi dapat dibuka dan disesuaikan dari menu tindakan versi menggunakan dialog konfigurasi modul PHP.

Integrasi situs
Situs PHP yang dibuat melalui Host otomatis memperoleh vhost FrankenPHP dengan direktif php_server, sehingga berjalan sebagai aplikasi FrankenPHP sungguhan, bukan sekadar penyajian berkas statis. Solusi Laravel memperlihatkan tumpukan framework lengkap dengan penyiapan ini.
- Port per situs: setiap situs memperoleh port FrankenPHP sendiri (
port.frankenphp), sehingga situs yang sama dapat dilayani paralel dengan Nginx, Apache, atau Caddy. Situs yang dibuat sebelum perilaku ini tersedia akan memakai port Caddy bersama. - HTTPS otomatis: vhost menyertakan
tls internal, yang memberi setiap situs sertifikat tepercaya secara lokal tanpa penyiapan tambahan. Domain serta sertifikat situs dibahas dalam Situs Lokal, Domain Kustom & HTTPS. - Proxy balik per situs: situs juga dapat meneruskan permintaan ke layanan lokal lain melalui vhost FrankenPHP.
- Vhost yang pulih sendiri: ketika versi FrankenPHP dimulai, FlyEnv membuat ulang vhost situs yang hilang sebelum meluncurkan proses.
Untuk pembahasan lebih luas kapan memilih FrankenPHP dibanding PHP-FPM, RoadRunner, atau Swoole, lihat panduan deployment PHP.
Log
Tab Log mengikuti frankenphp.log dan juga mencantumkan setiap berkas frankenphp-*.log di direktori dasar FrankenPHP, sehingga log khusus versi maupun situs dapat dibaca di satu tempat.

Panduan, solusi, dan demo terkait
Lanjutkan dengan panduan, solusi, demo, atau perspektif komunitas.
Catatan kompatibilitas
FlyEnv mengelola runtime FrankenPHP, konfigurasi, dan integrasi situsnya, tetapi tidak menjamin setiap rilis FrankenPHP atau ekstensi PHP bawaan tersedia pada setiap sistem operasi. MacPorts dan SDKMAN bukan sumber pemasangan modul ini, dan FrankenPHP tidak menyediakan panel administrasi. Memastikan kebutuhan framework serta ekstensi tersedia pada build terpasang tetap menjadi tanggung jawab proyek. Gunakan halaman Unduhan dan catatan rilis terbaru sebagai rujukan paket yang didukung.