{"id":9856,"date":"2025-06-18T13:08:48","date_gmt":"2025-06-18T06:08:48","guid":{"rendered":"https:\/\/www.jetorbit.com\/panduan\/?p=9856"},"modified":"2025-06-18T13:10:16","modified_gmt":"2025-06-18T06:10:16","slug":"apa-itu-frankenphp","status":"publish","type":"post","link":"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/","title":{"rendered":"Apa Itu FrankenPHP? Pengertian, Contoh dan Cara Installnya"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Daftar Isi Artikel<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Pengertian_FrankenPHP\" >Pengertian FrankenPHP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Asal_Nama_%E2%80%9CFrankenPHP%E2%80%9D\" >Asal Nama &#8220;FrankenPHP&#8221;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Kelebihan_FrankenPHP\" >Kelebihan FrankenPHP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Contoh_Penggunaan_FrankenPHP\" >Contoh Penggunaan FrankenPHP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Cara_Install_FrankenPHP\" >Cara Install FrankenPHP<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#1_Install_via_Binary_Langsung\" >1. Install via Binary (Langsung)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#2_Install_Menggunakan_Docker\" >2. Install Menggunakan Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#3_Build_dari_Source\" >3. Build dari Source<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#FrankenPHP_vs_Stack_Tradisional\" >FrankenPHP vs Stack Tradisional<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.jetorbit.com\/panduan\/apa-itu-frankenphp\/#Penutup\" >Penutup<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Inovasi demi inovasi bermunculan untuk membuat proses development lebih efisien, cepat, dan fleksibel. Salah satu inovasi yang mulai menarik perhatian adalah <strong>FrankenPHP<\/strong>. Nama yang unik ini bukan hanya menarik dari segi istilah, tetapi juga dari sisi fungsionalitasnya. Bagi para developer, sysadmin, atau siapa saja yang tertarik di dunia web server dan <a href=\"https:\/\/www.jetorbit.com\/panduan\/tag\/php\/\" data-type=\"post_tag\" data-id=\"716\">PHP<\/a>, mengenal FrankenPHP bisa menjadi langkah penting.<\/p>\n\n\n\n<p>Sebelumnya kita sudah membahas <a href=\"https:\/\/www.jetorbit.com\/apa-itu-swole\">apa itu swole<\/a>, di panduan ini kita akan membahas secara lengkap <strong>apa itu FrankenPHP<\/strong>, pengertiannya, contoh penggunaannya, serta <strong>cara menginstalnya<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pengertian_FrankenPHP\"><\/span>Pengertian FrankenPHP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/apa-itu-FrankenPHP-1024x394.png\" alt=\"\" class=\"wp-image-9857\" srcset=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/apa-itu-FrankenPHP-1024x394.png 1024w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/apa-itu-FrankenPHP-300x115.png 300w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/apa-itu-FrankenPHP-768x295.png 768w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/apa-itu-FrankenPHP.png 1287w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>FrankenPHP<\/strong> adalah sebuah <strong>web server modern<\/strong> yang dibangun di atas Caddy, dengan kemampuan untuk menjalankan <strong>PHP secara langsung<\/strong> tanpa harus bergantung pada server eksternal seperti Apache atau Nginx. Bisa dibilang, FrankenPHP menyatukan web server dan PHP dalam satu kesatuan yang seamless dan efisien.<\/p>\n\n\n\n<p>Biasanya, dalam pengembangan aplikasi web menggunakan PHP, diperlukan web server seperti Apache atau Nginx dan interpreter PHP (biasanya melalui PHP-FPM). Namun dengan FrankenPHP, hal tersebut tidak lagi wajib. Ini karena PHP telah menjadi bagian integral dari server itu sendiri.<\/p>\n\n\n\n<p>FrankenPHP diciptakan untuk memberikan <strong>pengalaman menjalankan aplikasi PHP yang lebih cepat, stabil, dan modern<\/strong>. Selain itu, FrankenPHP juga mendukung berbagai fitur canggih seperti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Worker Mode (mirip seperti long-running PHP process)<\/li>\n\n\n\n<li>HTTP\/3<\/li>\n\n\n\n<li>Built-in HTTPS (karena berbasis Caddy)<\/li>\n\n\n\n<li>Eksekusi lebih cepat dan hemat resource<\/li>\n\n\n\n<li>Hot reload untuk perubahan kode<\/li>\n\n\n\n<li>Dan berbagai integrasi modern lainnya<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Asal_Nama_%E2%80%9CFrankenPHP%E2%80%9D\"><\/span>Asal Nama &#8220;FrankenPHP&#8221;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Nama <strong>FrankenPHP<\/strong> diambil dari karakter fiksi <strong>Frankenstein<\/strong>, karena proyek ini menggabungkan berbagai bagian teknologi seperti PHP, Caddy, dan Go menjadi satu kesatuan yang &#8220;hidup&#8221;. Meskipun terdengar unik dan agak lucu, di balik nama itu ada teknologi yang sangat serius dan berpotensi besar untuk masa depan PHP modern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Kelebihan_FrankenPHP\"><\/span>Kelebihan FrankenPHP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Berikut beberapa keunggulan utama FrankenPHP dibandingkan dengan pendekatan tradisional:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Tanpa PHP-FPM<\/strong>\n<ul class=\"wp-block-list\">\n<li>Tidak perlu repot mengatur FPM pool, socket, dan sebagainya.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Performa Tinggi<\/strong>\n<ul class=\"wp-block-list\">\n<li>Karena PHP dijalankan langsung di dalam web server, prosesnya lebih cepat dan ringan.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Mudah Digunakan<\/strong>\n<ul class=\"wp-block-list\">\n<li>Caddy terkenal dengan kemudahan penggunaannya. FrankenPHP membawa semangat yang sama.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Support Mode Worker<\/strong>\n<ul class=\"wp-block-list\">\n<li>Bisa digunakan untuk aplikasi yang memerlukan worker jangka panjang, seperti WebSocket atau queue processing.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>HTTPS Otomatis<\/strong>\n<ul class=\"wp-block-list\">\n<li>Berkat fitur bawaan dari Caddy, TLS dan HTTPS bisa langsung aktif tanpa konfigurasi rumit.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Contoh_Penggunaan_FrankenPHP\"><\/span>Contoh Penggunaan FrankenPHP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Bayangkan sebuah aplikasi web sederhana berbasis Laravel atau Symfony. Biasanya dibutuhkan Nginx\/Apache + PHP-FPM untuk menjalankannya. Tapi dengan FrankenPHP, cukup dengan satu binary dan sedikit konfigurasi, aplikasi tersebut sudah bisa berjalan.<\/p>\n\n\n\n<p>Contoh sederhana untuk menampilkan file PHP menggunakan FrankenPHP:<\/p>\n\n\n\n<p>Buat file <code>index.php<\/code>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><textarea class=\"code-block-pro-copy-button-textarea\" aria-hidden=\"true\" readonly>&lt;?php \necho &#8220;Hello from FrankenPHP!&#8221;;<\/textarea><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">&lt;?<\/span><span style=\"color: #9CDCFE\">php<\/span><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">echo<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">&quot;Hello from FrankenPHP!&quot;<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Jalankan FrankenPHP dengan perintah:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><textarea class=\"code-block-pro-copy-button-textarea\" aria-hidden=\"true\" readonly>frankenphp run index.php<\/textarea><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">frankenphp<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">run<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">index<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">php<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Dan langsung bisa diakses melalui browser..<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2-1024x376.png\" alt=\"\" class=\"wp-image-9859\" srcset=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2-1024x376.png 1024w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2-300x110.png 300w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2-768x282.png 768w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2-1536x564.png 1536w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Apa-Itu-FrankenPHP-2.png 1580w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Untuk aplikasi seperti Laravel, FrankenPHP juga mendukung environment yang kompleks seperti <code>.env<\/code>, artisan, dan routing framework modern lainnya.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cara_Install_FrankenPHP\"><\/span>Cara Install FrankenPHP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Instalasi FrankenPHP cukup fleksibel, bisa menggunakan binary langsung, Docker, atau build dari source. Berikut beberapa cara instalasinya:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Install_via_Binary_Langsung\"><\/span>1. Install via Binary (Langsung)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>FrankenPHP menyediakan binary untuk berbagai sistem operasi (Linux, macOS, dan Windows).<\/p>\n\n\n\n<p>Langkah-langkah:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Unduh binary dari GitHub:<br><a href=\"https:\/\/github.com\/dunglas\/frankenphp\/releases\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/dunglas\/frankenphp\/releases<\/a><\/li>\n\n\n\n<li>Ekstrak dan simpan di folder yang diinginkan, misalnya <code>\/usr\/local\/bin<\/code>.<\/li>\n\n\n\n<li>Ubah izin agar bisa dieksekusi:  <code>chmod +x \/usr\/local\/bin\/frankenphp<\/code><\/li>\n\n\n\n<li>Jalankan: <code>frankenphp serve<\/code><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Install_Menggunakan_Docker\"><\/span>2. Install Menggunakan Docker<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Cara ini sangat disukai karena lebih praktis dan portabel.<\/p>\n\n\n\n<p>Contoh <code>Dockerfile<\/code> untuk Laravel:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><textarea class=\"code-block-pro-copy-button-textarea\" aria-hidden=\"true\" readonly>FROM dunglas\/frankenphp\n\nCOPY . \/app\nWORKDIR \/app\n\nCMD [&#8220;serve&#8221;, &#8220;&#8211;port=80&#8221;]\n<\/textarea><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #4FC1FF\">FROM<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">dunglas<\/span><span style=\"color: #D4D4D4\">\/<\/span><span style=\"color: #9CDCFE\">frankenphp<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #4FC1FF\">COPY<\/span><span style=\"color: #D4D4D4\"> . \/<\/span><span style=\"color: #9CDCFE\">app<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4FC1FF\">WORKDIR<\/span><span style=\"color: #D4D4D4\"> \/<\/span><span style=\"color: #9CDCFE\">app<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #4FC1FF\">CMD<\/span><span style=\"color: #D4D4D4\"> [<\/span><span style=\"color: #CE9178\">&quot;serve&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;--port=80&quot;<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Lalu build dan jalankan:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><textarea class=\"code-block-pro-copy-button-textarea\" aria-hidden=\"true\" readonly>docker build -t my-app .\ndocker run -p 8080:80 my-app\n<\/textarea><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #9CDCFE\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">build<\/span><span style=\"color: #D4D4D4\"> -<\/span><span style=\"color: #9CDCFE\">t<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">my<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">app<\/span><span style=\"color: #D4D4D4\"> .<\/span><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">docker<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">run<\/span><span style=\"color: #D4D4D4\"> -<\/span><span style=\"color: #9CDCFE\">p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">8080<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">80<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">my<\/span><span style=\"color: #D4D4D4\">-<\/span><span style=\"color: #9CDCFE\">app<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Akses aplikasi di <code>http:\/\/localhost:8080<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Build_dari_Source\"><\/span>3. Build dari Source<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Untuk yang ingin menggunakan versi paling baru atau ingin customisasi:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pastikan sudah terinstal Go dan PHP source code.<\/li>\n\n\n\n<li>Clone repo: <code>git clone https:\/\/github.com\/dunglas\/frankenphp.git<\/code><\/li>\n\n\n\n<li>Jalankan: <code>make<\/code><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"843\" src=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3-1024x843.png\" alt=\"\" class=\"wp-image-9861\" srcset=\"https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3-1024x843.png 1024w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3-300x247.png 300w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3-768x632.png 768w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3-1536x1264.png 1536w, https:\/\/www.jetorbit.com\/panduan\/wp-content\/uploads\/2025\/04\/Cara-Install-FrankenPHP-3.png 1597w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FrankenPHP_vs_Stack_Tradisional\"><\/span>FrankenPHP vs Stack Tradisional<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Fitur<\/th><th>Stack Tradisional (Apache\/Nginx + PHP-FPM)<\/th><th>FrankenPHP<\/th><\/tr><\/thead><tbody><tr><td>Performa<\/td><td>Lebih lambat karena overhead komunikasi<\/td><td>Langsung, tanpa perantara<\/td><\/tr><tr><td>Konfigurasi<\/td><td>Kompleks, banyak file konfigurasi<\/td><td>Sederhana, cukup 1 file<\/td><\/tr><tr><td>HTTPS<\/td><td>Butuh sertifikat manual<\/td><td>Otomatis dengan Caddy<\/td><\/tr><tr><td>Dukungan Worker<\/td><td>Terbatas (harus pakai tool tambahan)<\/td><td>Native support<\/td><\/tr><tr><td>Scalability<\/td><td>Cukup baik<\/td><td>Lebih efisien dan cepat<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Penutup\"><\/span>Penutup<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>FrankenPHP adalah salah satu pengembangan aplikasi PHP. Dengan pendekatan yang menggabungkan<a href=\"https:\/\/www.jetorbit.com\/panduan\/cara-monitoring-uptime-server-web-dengan-uptime-robot\/\" data-type=\"post\" data-id=\"8500\"> web server<\/a> dan PHP secara langsung, proses pengembangan menjadi lebih efisien dan ringan. Selain itu, dukungan terhadap fitur-fitur modern seperti HTTPS otomatis, worker mode, dan performa tinggi membuat FrankenPHP menjadi pilihan menarik untuk berbagai jenis proyek.<\/p>\n\n\n\n<p>Demikian Panduan Apa Itu FrankenPHP? Pengertian, Contoh dan Cara Installnya, Semoga bermanfaat \ud83d\ude42<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inovasi demi inovasi bermunculan untuk membuat proses development lebih efisien, cepat, dan fleksibel. Salah satu inovasi yang mulai menarik perhatian adalah FrankenPHP. Nama yang unik ini bukan hanya menarik dari segi istilah, tetapi juga dari sisi fungsionalitasnya. Bagi para developer, sysadmin, atau siapa saja yang tertarik di dunia web server dan PHP, mengenal FrankenPHP bisa [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":2809,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[716,713],"class_list":["post-9856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dasar","tag-frankenphp","tag-php"],"_links":{"self":[{"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/posts\/9856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/comments?post=9856"}],"version-history":[{"count":6,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/posts\/9856\/revisions"}],"predecessor-version":[{"id":9965,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/posts\/9856\/revisions\/9965"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/media\/2809"}],"wp:attachment":[{"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/media?parent=9856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/categories?post=9856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jetorbit.com\/panduan\/wp-json\/wp\/v2\/tags?post=9856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}