2023/06/21 開催 第153回 PHP勉強会@東京 でのLTスライドです。 後から見返したところ、発表版スライドに誤字や補足漏れがあったため、一部修正してアップロードしています。
PHPをasdfで 動かしてみたんです yumechi
View Slide
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 managerhttps://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月ごろプロポーザル書いてる時のバージョンなので少し古いのはご容赦ください
なんと4系 から入ってる
インストールする →C Compiler がないので失敗
gccインストールする →bison がないので失敗
オッ… つらくなって 来たな?
オッ… これ実質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/