Slide 1

Slide 1 text

© 2012-2025 BASE, Inc. @PHP Conference Japan 2025(2025/06/28) FrankenPHPで Laravelを動かしてみよう 1

Slide 2

Slide 2 text

© 2012-2025 BASE, Inc. 2 氏名:Capi(かぴ) 所属:BASE株式会社 業務:Webアプリケーションエンジニア 趣味:飲酒、美術館にいく、技術系情報の収集 カピバラになりたい ysssssss98 自己紹介 You-saku

Slide 3

Slide 3 text

© 2012-2023 BASE, Inc. アジェンダ 3

Slide 4

Slide 4 text

© 2012-2025 BASE, Inc. アジェンダ 4 ● はじめに ● ざっくりFrankenPHPとは ● FrankenPHPを試してみる ● LaravelでWebアプリ作ってお手軽デプロイ ● まとめ

Slide 5

Slide 5 text

© 2012-2023 BASE, Inc. はじめに 5

Slide 6

Slide 6 text

© 2012-2025 BASE, Inc. 6 スライドの中にDockerfileやPHPのコードが出てきます。 より良い書き方があるかもしれませんが、今回は「動かすこと」を第一の目的 にしています。ご了承ください。 何かあればぜひフィードバックください! はじめに

Slide 7

Slide 7 text

© 2012-2023 BASE, Inc. ざっくりFrankenPHPとは 7

Slide 8

Slide 8 text

© 2012-2025 BASE, Inc. 8 ● Kévin Dunglasさん(Symfony作ってたりする人)によって開発された ● CaddyというWebサーバー上で動くモダンなPHPアプリサーバー ● PHPプロジェクトを今までより高速に動かすことが可能 ざっくりFrankenPHPとは FrankenPHP.「FrankenPHP」. https://frankenphp.dev, (2025/06/28)

Slide 9

Slide 9 text

© 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)

Slide 10

Slide 10 text

© 2012-2025 BASE, Inc. 10 「試してみたいな……(切実)」

Slide 11

Slide 11 text

© 2012-2025 BASE, Inc. 11

Slide 12

Slide 12 text

© 2012-2023 BASE, Inc. FrankenPHPを試してみる 12

Slide 13

Slide 13 text

© 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を試してみる

Slide 14

Slide 14 text

© 2012-2023 BASE, Inc. LaravelでWebアプリを作って お手軽デプロイ 14

Slide 15

Slide 15 text

© 2012-2025 BASE, Inc. 15 今回の構成 最低限の機能だけを用意 ● アプリサーバー(Laravel) ● DB(SQLite, MySQL, PostgreSQL) LaravelでWebアプリを作ってお手軽デプロイ

Slide 16

Slide 16 text

© 2012-2025 BASE, Inc. 16 自分が試したのは3種類の方法 1. 仮想環境を使わずにFrankenPHPで動かす 2. Laravel Sailを使ってFrankenPHPで動かす 3. Sailを使わずDockerでFrankenPHPで動かす 1と2は公式ドキュメントに手順があるため容易です。3は少しDockerの知識が 必要です(volumeのマウント周り) LaravelでWebアプリを作ってお手軽デプロイ

Slide 17

Slide 17 text

© 2012-2025 BASE, Inc. 17 環境構築を補助してくれるツールがあります ● laravel/octane(PHPのパッケージ) ● dunglas/frankenphp(Docker Image) 今回は両方使ってます LaravelでWebアプリを作ってお手軽デプロイ

Slide 18

Slide 18 text

© 2012-2025 BASE, Inc. 18 Viewが表示できるのか、きちんとFrankenPHPで動いているのかを確認 ● welcomeページ ● PHPが何で動いてるのか LaravelでWebアプリを作ってお手軽デプロイ

Slide 19

Slide 19 text

© 2012-2025 BASE, Inc. 19 DBと接続するWebAPIも作る ● Laravel(ver.12)のプロジェクトの作成時に 自動生成されるusersテーブルを利用 LaravelでWebアプリを作ってお手軽デプロイ

Slide 20

Slide 20 text

© 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)

Slide 21

Slide 21 text

© 2012-2025 BASE, Inc. 21 デプロイするプロジェクト構成とDockerfileはこんな感じ LaravelでWebアプリを作ってお手軽デプロイ

Slide 22

Slide 22 text

© 2012-2025 BASE, Inc. 22 無事デプロイ完了(dbのマイグレーションはsshして実行しました) Viewの様子、FrankenPHPで動いているのか、WebAPIの様子を確認 LaravelでWebアプリを作ってお手軽デプロイ 大丈夫そう!🎊

Slide 23

Slide 23 text

© 2012-2023 BASE, Inc. まとめ 23

Slide 24

Slide 24 text

© 2012-2025 BASE, Inc. まとめ 24 触ってみた個人的な所感です ● FrankenPHPでLaravelを動かすことは難しくない ● 超基本的な機能は動く ● コンテナいけるのでパブリッククラウドでも動かせる ● 「個人開発やPoC, MVP開発」で使うのはアリ ● 日本語の情報はまだ多くない印象(探し方が下手なだけかも?)

Slide 25

Slide 25 text

© 2012-2025 BASE, Inc. まとめ 25 自分はまだまだ試したいことがたくさんある! ● Caddyのカスタム ● Worker Modeの深掘り ● binaryのPHPアプリを動かす ● Laravelの他機能も使って少し複雑なアプリを構成する ● Laravel以外のフレームワークも動かす ● etc みんなでFrankenPHPを触って知見を増やしたい!

Slide 26

Slide 26 text

© 2012-2025 BASE, Inc. まとめ 26 今回の登壇に関するコード https://github.com/You-saku/phpconference2025_lt このスライドは公開予定です もう少し詳細な説明をしたZennの記事を出す予定です🙏