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
1.1k
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
14k
LTの裏技
yumechi
2
1.4k
やがてカンファレンス登壇者になる
yumechi
1
280
形式スクラムの功罪
yumechi
3
1.5k
プロポーザルを出してみよう考えてみよう
yumechi
1
630
Shell環境の初手
yumechi
1
170
Last CoLab
yumechi
1
230
これまで10年くらいふりかえり続けて思ったふりかえりに必要なたった1つのこと
yumechi
2
970
セキュリティテストでより安心できるリリースにしよう
yumechi
0
430
Other Decks in Programming
See All in Programming
ComposeでWebアプリを作る技術
tbsten
0
110
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
120
Sharing features among Android applications: experience feedback
jbvincey
0
110
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
130
SwiftUI API Design Lessons
niw
1
290
エンジニアが挑む、限界までの越境
nealle
1
170
Making TCPSocket.new "Happy"!
coe401_
1
1.2k
Unlock the Potential of Swift Code Generation
rockname
0
250
Qiita Bash
mercury_dev0517
2
200
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1k
Optimizing JRuby 10
headius
0
310
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
24
6.4k
Featured
See All Featured
Fireside Chat
paigeccino
37
3.4k
Six Lessons from altMBA
skipperchong
27
3.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
670
Bash Introduction
62gerente
611
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Unsuck your backbone
ammeep
670
57k
4 Signs Your Business is Dying
shpigford
183
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
It's Worth the Effort
3n
184
28k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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/