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
PHPをasdfで動かしてみたんです
Search
yumechi(Motoki Hirao)
June 21, 2023
Programming
1.4k
2
Share
PHPをasdfで動かしてみたんです
2023/06/21 開催
第153回 PHP勉強会@東京 でのLTスライドです。
後から見返したところ、発表版スライドに誤字や補足漏れがあったため、一部修正してアップロードしています。
yumechi(Motoki Hirao)
June 21, 2023
More Decks by yumechi(Motoki Hirao)
See All by yumechi(Motoki Hirao)
ブログ用の記事投稿数 可視化の仕組みを作る
yumechi
0
47
2026年 エンジニアリング自己学習法
yumechi
0
180
PyCon mini Shizuoka 2026 ご紹介
yumechi
0
49
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
210
異夢同船 読んできました!
yumechi
0
300
地方カンファレンスのスタッフしてて思うこと
yumechi
0
200
2025年半忘年会ふりかえり
yumechi
0
69
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
14k
LTの裏技
yumechi
2
1.5k
Other Decks in Programming
See All in Programming
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
810
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
140
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
1
250
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
520
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3k
KagglerがMixSeekを触ってみた
morim
0
370
Vibe하게 만드는 Flutter GenUI App With ADK , 박제창, BWAI Incheon 2026
itsmedreamwalker
0
540
おれのAgentic Coding 2026/03
tsukasagr
1
130
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing for Performance
lara
611
70k
Technical Leadership for Architectural Decision Making
baasie
3
310
Designing for Timeless Needs
cassininazir
0
190
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Facilitating Awesome Meetings
lara
57
6.8k
Amusing Abliteration
ianozsvald
1
150
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
180
Unsuck your backbone
ammeep
672
58k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Transcript
PHPをasdfで 動かしてみたんです yumechi
twitter: @__yumechi misskey: @
[email protected]
発表者に関しての情報 • twitter: @__yumechi misskey: @
[email protected]
• 3月までPHP書いてる会社にいました、今はPythonやってるエンジニアです • PHP歴は2年行かないくらい、そんなに詳しくはない 😇😇 • ゲームをしたり、カンファレンスに行ったりするのが好きです ◦ 最近はTEVIってゲームを待ってます ◦ https://store.steampowered.com/app/2230650/TEVI/
twitter: @__yumechi misskey: @
[email protected]
この発表は… • PHPカンファレンス福岡にプロポーザル出したら落ちてしまったLT ◦ 実用性はあまりないと思ってたので、仕方なし …
• 福岡は行きたかった…です…(自費で) ◦ 個人的な事情により予定が入ってしまい行けなくなってしまった … • 福岡行く方は楽しんできてください~ ◦ TLはばっちりチェックする予定です
twitter: @__yumechi misskey: @
[email protected]
asdfとは? ~言語、ツールのバージョン管理ツール~ • asdf https://asdf-vm.com/ •
読み方よくわからないので個人的には「アズデフ」と呼んでます • 様々な言語やCLIツールのバージョン管理ができるツール ◦ 近そうなものでいえば anyenv とか? ◦ 個別のものだと pyenv, nodeenv, rbenv, phpenv とか? • 複数のツールバージョンを使わないといけないときとか、CLIツールのバージョン固 定の観点だと活用シーンがありそう ◦ nodejsとか複数のメジャーバージョンのモノ扱いたいときとか、 k8sとかバージョンアップとか変化が 激しいものとか
twitter: @__yumechi misskey: @
[email protected]
asdfでPHPも使えます • asdf-community/asdf-php: PHP plugin for
the asdf version manager https://github.com/asdf-community/asdf-php • コミュニティからプラグインが提供されているので、安心して(?)使うことができます ◦ (コミュニティの存在が割とふわっとしている? Organization配下にあるくらいにしか思ってないの で) ◦ プラグインスクリプトは結構簡潔で短いものが多いので(心配ならば)中身を読む
twitter: @__yumechi misskey: @
[email protected]
実際に使ってみると…? 軽い用途には向きそう • (前提)ちゃんと動かすならDockerでやりましょう • 活躍したのはPHPerKaigi
2023のPHPerチャレンジ ◦ 特にサイボウズさんの問題 ◦ https://speakerdeck.com/cybozuinsideout/phperkaigi2023challenge • ちょっと違うバージョンのPHP入れて試したいとき ◦ プロダクションとかだと一個前のバージョン使ってたりすることもあるので、試しに新しいものを入れ て検証してみるとか
twitter: @__yumechi misskey: @
[email protected]
実際に動かす 実際に下記のブログの問題に 対して複数バージョンのPHP で実行してみます https://blog.cybozu.io
/entry/phperkaigi2023- sponser
ここまでだと めっちゃいい感じ っすねー ってなりそう
だが実際は…?
asdfでPHPを 導入するのが 若干難しい
twitter: @__yumechi misskey: @
[email protected]
実際にasdfでPHPを入れていくぜ! • 初心に返った気持ちで1から asdf を使って PHP
が動くところまでやる ◦ 本当に簡単か?という裏付けを得るため • まっさらな環境を用意するのが大変だったので今回はレンタルサーバーを使って行 う ◦ PHPerKaigiのときにさくらインターネットさんからクーポンをもらったので活用 ◦ 技術調査にも使えるノベルティで本当に助かります 🙏🙏🙏 • 4月ごろプロポーザル書いてる時のバージョンなので少し古いのはご容赦ください
None
なんと4系 から入ってる
インストールする →C Compiler がないので失敗
gccインストールする →bison がないので失敗
オッ… つらくなって 来たな?
None
None
None
None
None
オッ… これ実質PHP自身を ビルドしてるのと 変わらんな?😇😇
タイトル PHPをasdfで動かし てみたんです は…
実はPHPをビルド してみました、 だったんですね…
twitter: @__yumechi misskey: @
[email protected]
必要なものを全部入れたらインストールできた • メモ取ってたんですが10個くらい入れた気がします • ちゃんとビルドに必要なライブラリを知っておけばよかったなぁ… ◦
インストールする!→失敗する→ライブラリを調べて追加、を繰り返す ◦ 多分最初からまとまったところを見ておけばこうはならんかったはず ◦ (どこ見ればいいのか知らないので該当ページ知ってる方いらっしゃいましたら Twitterとかに流して ください…) • で、色々入れたら8分くらいかけてビルドが走るので、ビルドが終わったらasdf での PHPインストール完了!やったね!
ぜひ、PHPを自前で ビルドしてみたい 人はやってみてね
twitter: @__yumechi misskey: @
[email protected]
まとめ • asdf便利なツール • PHPとはちょっと相性が悪いかもしれない ◦
これ自前でビルドしてるのと変わらんのでは? ◦ もしかすると一回PHPをインストール(brewでもなんでも)しとくと楽説(未検証) • PHPをビルドするって大変なんだなぁという体験ができるので、一度は体験しておく とよいのかもしれません ◦ Dockerのありがたみがよくわかる ◦ インフラ周りやってる人のありがたみがよくわかる
twitter: @__yumechi misskey: @
[email protected]
まとめ • asdf便利なツール • PHPとはちょっと相性が悪いかもしれない ◦
これ自前でビルドしてるのと変わらんのでは? ◦ もしかすると一回PHPをインストール(brewでもなんでも)しとくと楽説(未検証) • PHPをビルドするって大変なんだなぁという体験ができるので、一度は体験しておく とよいのかもしれません ◦ Dockerのありがたみがよくわかる ◦ インフラ周りやってる人のありがたみがよくわかる 😇 LT待ち時間でPHPインストールした環境で検証しましたがダメそうでした、残念
twitter: @__yumechi misskey: @
[email protected]
当日質問があったこと • 複数バージョン入れようとするとライブラリの依存バージョンが変わると思うが、そ の辺りはどうやっているか? ◦ 自分が試している限りは
PHP7.4, 8.0, 8.1, 8.2 は問題起きなかった ◦ インストールしてる順序が古い順なので問題起こらなかった可能性 ◦ 古いバージョンについては検証していません • PHP4系など古いバージョンは本当に動作するのか? ◦ 未検証です ◦ 調査して何かわかったらどこかにまとめる予定です
twitter: @__yumechi misskey: @
[email protected]
利用情報 • スライド作成: Google Slide https://www.google.com/slides/about/
• フォント: Noto Sans https://fonts.google.com/noto/specimen/Noto+Sans • 利用画像 ◦ 商用可・フリーイラスト素材|ソコスト https://soco-st.com/