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
950
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
250
形式スクラムの功罪
yumechi
3
1.4k
プロポーザルを出してみよう考えてみよう
yumechi
1
470
Shell環境の初手
yumechi
1
130
Last CoLab
yumechi
1
190
これまで10年くらいふりかえり続けて思ったふりかえりに必要なたった1つのこと
yumechi
2
910
セキュリティテストでより安心できるリリースにしよう
yumechi
0
390
Other Decks in Programming
See All in Programming
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
110
Macとオーディオ再生 2024/11/02
yusukeito
0
370
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
CSC509 Lecture 09
javiergs
PRO
0
140
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Navigating Team Friction
lara
183
14k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Rails Girls Zürich Keynote
gr2m
94
13k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Building Adaptive Systems
keathley
38
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
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/