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
2
980
PHPをasdfで動かしてみたんです
2023/06/21 開催
第153回 PHP勉強会@東京 でのLTスライドです。
後から見返したところ、発表版スライドに誤字や補足漏れがあったため、一部修正してアップロードしています。
yumechi(Motoki Hirao)
June 21, 2023
Tweet
Share
More Decks by yumechi(Motoki Hirao)
See All by yumechi(Motoki Hirao)
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
13k
LTの裏技
yumechi
2
1.3k
やがてカンファレンス登壇者になる
yumechi
1
260
形式スクラムの功罪
yumechi
3
1.4k
プロポーザルを出してみよう考えてみよう
yumechi
1
500
Shell環境の初手
yumechi
1
140
Last CoLab
yumechi
1
200
これまで10年くらいふりかえり続けて思ったふりかえりに必要なたった1つのこと
yumechi
2
930
セキュリティテストでより安心できるリリースにしよう
yumechi
0
400
Other Decks in Programming
See All in Programming
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
5
900
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
From Translations to Multi Dimension Entities
alexanderschranz
2
130
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
良いユニットテストを書こう
mototakatsu
5
2k
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
Beyond ORM
77web
2
330
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
How to train your dragon (web standard)
notwaldorf
88
5.7k
How to Ace a Technical Interview
jacobian
276
23k
Optimising Largest Contentful Paint
csswizardry
33
3k
RailsConf 2023
tenderlove
29
940
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fireside Chat
paigeccino
34
3.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/