Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FrankenPHPでLaravelを動かしてみよう
Search
Capi
June 27, 2025
Technology
1
690
FrankenPHPでLaravelを動かしてみよう
PHP Conference Japan 2025の登壇資料
Capi
June 27, 2025
Tweet
Share
More Decks by Capi
See All by Capi
OSSに “コード” で貢献したいんです
yousaku
0
690
“RFCに書いてある” を体験した話 - 技術の深さを知る方法 -
yousaku
0
120
少し複雑で、少しトラフィックが多いサービスを開発するためにしてること
yousaku
0
13
ペアプログラミングとの出会いで広がった自分の開発領域と挑戦のチャンス
yousaku
0
340
興味を発信しよう: 技術アウトプットが開く可能性
yousaku
0
590
コードは育つ、僕も育つ、 PHPと歩んだ設計物語
yousaku
0
570
コードを介してより良くエンジニア同士がコラボレーションするためにできること
yousaku
0
1.2k
Other Decks in Technology
See All in Technology
1,000 にも届く AWS Organizations 組織のポリシー運用をちゃんとしたい、という話
kazzpapa3
1
260
AI駆動開発を事業のコアに置く
tasukuonizawa
1
1.6k
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
330
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
9
750
生成AIで始める業務改革 - 製造業編 in 福島 -
daikikanemitsu
2
580
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
310
「データの価値を、みんなの武器に。」Data Enablementの価値とツラみ
ryoskdara_
1
120
Exadata Fleet Update
oracle4engineer
PRO
0
1.2k
Claude Codeで実践するスペック駆動開発入門 / sdd-with-claude_code
yoshidashingo
2
450
横断SREがSRE社内留学制度 / Enablingになぜ踏み切ったのか
rvirus0817
0
260
『誰の責任?』で揉めるのをやめて、エラーバジェットで判断するようにした ~感情論をデータで終わらせる、PMとエンジニアの意思決定プロセス~
coconala_engineer
0
850
LiDARが変えたARの"距離感"
zozotech
PRO
0
260
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
250
The SEO Collaboration Effect
kristinabergwall1
0
370
Paper Plane (Part 1)
katiecoart
PRO
0
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
198
72k
エンジニアに許された特別な時間の終わり
watany
106
230k
Code Review Best Practice
trishagee
74
20k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
420
Fireside Chat
paigeccino
41
3.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Transcript
© 2012-2025 BASE, Inc. @PHP Conference Japan 2025(2025/06/28) FrankenPHPで Laravelを動かしてみよう
1
© 2012-2025 BASE, Inc. 2 氏名:Capi(かぴ) 所属:BASE株式会社 業務:Webアプリケーションエンジニア 趣味:飲酒、美術館にいく、技術系情報の収集 カピバラになりたい
ysssssss98 自己紹介 You-saku
© 2012-2023 BASE, Inc. アジェンダ 3
© 2012-2025 BASE, Inc. アジェンダ 4 • はじめに • ざっくりFrankenPHPとは
• FrankenPHPを試してみる • LaravelでWebアプリ作ってお手軽デプロイ • まとめ
© 2012-2023 BASE, Inc. はじめに 5
© 2012-2025 BASE, Inc. 6 スライドの中にDockerfileやPHPのコードが出てきます。 より良い書き方があるかもしれませんが、今回は「動かすこと」を第一の目的 にしています。ご了承ください。 何かあればぜひフィードバックください! はじめに
© 2012-2023 BASE, Inc. ざっくりFrankenPHPとは 7
© 2012-2025 BASE, Inc. 8 • Kévin Dunglasさん(Symfony作ってたりする人)によって開発された • CaddyというWebサーバー上で動くモダンなPHPアプリサーバー
• PHPプロジェクトを今までより高速に動かすことが可能 ざっくりFrankenPHPとは FrankenPHP.「FrankenPHP」. https://frankenphp.dev, (2025/06/28)
© 2012-2025 BASE, Inc. 9 2025年5月からPHP Fundationさんが公式サポート! 気になる方は「FrankenPHP PHP Foundation」で検索
ざっくりFrankenPHPとは The PHP Foundation.「FrankenPHP Is Now Officially Supported by The PHP Foundation」. https://thephp.foundation/blog/2025/05/15/frankenphp, (2025/06/28)
© 2012-2025 BASE, Inc. 10 「試してみたいな……(切実)」
© 2012-2025 BASE, Inc. 11
© 2012-2023 BASE, Inc. FrankenPHPを試してみる 12
© 2012-2025 BASE, Inc. 13 1. インストール(今回はbinary) curl https://frankenphp.dev/install.sh |
sh mv frankenphp /usr/local/bin/ 2. PHP単体ファイルを動かしてみる サーバー起動 frankenphp php-server -r public コマンドラインスクリプト実行 frankenphp php-cli public/index.php FrankenPHPを試してみる
© 2012-2023 BASE, Inc. LaravelでWebアプリを作って お手軽デプロイ 14
© 2012-2025 BASE, Inc. 15 今回の構成 最低限の機能だけを用意 • アプリサーバー(Laravel) •
DB(SQLite, MySQL, PostgreSQL) LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 16 自分が試したのは3種類の方法 1. 仮想環境を使わずにFrankenPHPで動かす 2. Laravel
Sailを使ってFrankenPHPで動かす 3. Sailを使わずDockerでFrankenPHPで動かす 1と2は公式ドキュメントに手順があるため容易です。3は少しDockerの知識が 必要です(volumeのマウント周り) LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 17 環境構築を補助してくれるツールがあります • laravel/octane(PHPのパッケージ) • dunglas/frankenphp(Docker
Image) 今回は両方使ってます LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 18 Viewが表示できるのか、きちんとFrankenPHPで動いているのかを確認 • welcomeページ • PHPが何で動いてるのか
LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 19 DBと接続するWebAPIも作る • Laravel(ver.12)のプロジェクトの作成時に 自動生成されるusersテーブルを利用 LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 20 Fly.io(https://fly.io)で公開する 選んだ理由は「楽にデプロイしたいから」、「DB, Redis, Sentryなど追加の設 定が容易だから」です。
デプロイに必要なもの 1. Fly.ioのアカウント 2. flyctl(command line tool) 3. Dockerfile 4. fly.ioに関する設定ファイル(flyctlで作成可能) LaravelでWebアプリを作ってお手軽デプロイ Fly.io.「https://fly.io/docs/about/brand」. https://fly.io, (2025/06/28)
© 2012-2025 BASE, Inc. 21 デプロイするプロジェクト構成とDockerfileはこんな感じ LaravelでWebアプリを作ってお手軽デプロイ
© 2012-2025 BASE, Inc. 22 無事デプロイ完了(dbのマイグレーションはsshして実行しました) Viewの様子、FrankenPHPで動いているのか、WebAPIの様子を確認 LaravelでWebアプリを作ってお手軽デプロイ 大丈夫そう!🎊
© 2012-2023 BASE, Inc. まとめ 23
© 2012-2025 BASE, Inc. まとめ 24 触ってみた個人的な所感です • FrankenPHPでLaravelを動かすことは難しくない •
超基本的な機能は動く • コンテナいけるのでパブリッククラウドでも動かせる • 「個人開発やPoC, MVP開発」で使うのはアリ • 日本語の情報はまだ多くない印象(探し方が下手なだけかも?)
© 2012-2025 BASE, Inc. まとめ 25 自分はまだまだ試したいことがたくさんある! • Caddyのカスタム •
Worker Modeの深掘り • binaryのPHPアプリを動かす • Laravelの他機能も使って少し複雑なアプリを構成する • Laravel以外のフレームワークも動かす • etc みんなでFrankenPHPを触って知見を増やしたい!
© 2012-2025 BASE, Inc. まとめ 26 今回の登壇に関するコード https://github.com/You-saku/phpconference2025_lt このスライドは公開予定です もう少し詳細な説明をしたZennの記事を出す予定です🙏