Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.3k
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)
Chart.jsで長い項目を表示するときのハマりどころ
yumechi
0
170
異夢同船 読んできました!
yumechi
0
260
地方カンファレンスのスタッフしてて思うこと
yumechi
0
150
2025年半忘年会ふりかえり
yumechi
0
42
業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
yumechi
13
14k
LTの裏技
yumechi
2
1.5k
やがてカンファレンス登壇者になる
yumechi
1
330
形式スクラムの功罪
yumechi
3
1.5k
プロポーザルを出してみよう考えてみよう
yumechi
1
810
Other Decks in Programming
See All in Programming
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.8k
ゲームの物理 剛体編
fadis
0
360
認証・認可の基本を学ぼう後編
kouyuume
0
240
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
130
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
10
3k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
590
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
160
TestingOsaka6_Ozono
o3
0
170
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
450
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
150
Graviton と Nitro と私
maroon1st
0
120
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
8
Mobile First: as difficult as doing things right
swwweet
225
10k
4 Signs Your Business is Dying
shpigford
186
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Navigating Team Friction
lara
191
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
1.9k
Fireside Chat
paigeccino
41
3.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building AI with AI
inesmontani
PRO
1
560
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
860
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/