Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PHPをasdfで動かしてみたんです

 PHPをasdfで動かしてみたんです

2023/06/21 開催
第153回 PHP勉強会@東京 でのLTスライドです。
後から見返したところ、発表版スライドに誤字や補足漏れがあったため、一部修正してアップロードしています。

yumechi(Motoki Hirao)

June 21, 2023
Tweet

More Decks by yumechi(Motoki Hirao)

Other Decks in Programming

Transcript

  1. twitter: @__yumechi misskey: @[email protected]
 発表者に関しての情報
 • twitter: @__yumechi misskey: @[email protected]

    • 3月までPHP書いてる会社にいました、今はPythonやってるエンジニアです
 • PHP歴は2年行かないくらい、そんなに詳しくはない 😇😇
 • ゲームをしたり、カンファレンスに行ったりするのが好きです
 ◦ 最近はTEVIってゲームを待ってます 
 ◦ https://store.steampowered.com/app/2230650/TEVI/

  2. twitter: @__yumechi misskey: @[email protected]
 この発表は…
 • PHPカンファレンス福岡にプロポーザル出したら落ちてしまったLT
 ◦ 実用性はあまりないと思ってたので、仕方なし …


    • 福岡は行きたかった…です…(自費で)
 ◦ 個人的な事情により予定が入ってしまい行けなくなってしまった …
 • 福岡行く方は楽しんできてください~
 ◦ TLはばっちりチェックする予定です 

  3. twitter: @__yumechi misskey: @[email protected]
 asdfとは? ~言語、ツールのバージョン管理ツール~
 • asdf https://asdf-vm.com/
 •

    読み方よくわからないので個人的には「アズデフ」と呼んでます
 • 様々な言語やCLIツールのバージョン管理ができるツール
 ◦ 近そうなものでいえば anyenv とか?
 ◦ 個別のものだと pyenv, nodeenv, rbenv, phpenv とか?
 • 複数のツールバージョンを使わないといけないときとか、CLIツールのバージョン固 定の観点だと活用シーンがありそう
 ◦ nodejsとか複数のメジャーバージョンのモノ扱いたいときとか、 k8sとかバージョンアップとか変化が 激しいものとか

  4. 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配下にあるくらいにしか思ってないの で)
 ◦ プラグインスクリプトは結構簡潔で短いものが多いので(心配ならば)中身を読む 

  5. twitter: @__yumechi misskey: @[email protected]
 実際に使ってみると…? 軽い用途には向きそう
 • (前提)ちゃんと動かすならDockerでやりましょう
 • 活躍したのはPHPerKaigi

    2023のPHPerチャレンジ
 ◦ 特にサイボウズさんの問題 
 ◦ https://speakerdeck.com/cybozuinsideout/phperkaigi2023challenge
 • ちょっと違うバージョンのPHP入れて試したいとき
 ◦ プロダクションとかだと一個前のバージョン使ってたりすることもあるので、試しに新しいものを入れ て検証してみるとか

  6. twitter: @__yumechi misskey: @[email protected]
 実際にasdfでPHPを入れていくぜ!
 • 初心に返った気持ちで1から asdf を使って PHP

    が動くところまでやる
 ◦ 本当に簡単か?という裏付けを得るため 
 • まっさらな環境を用意するのが大変だったので今回はレンタルサーバーを使って行 う
 ◦ PHPerKaigiのときにさくらインターネットさんからクーポンをもらったので活用 
 ◦ 技術調査にも使えるノベルティで本当に助かります 🙏🙏🙏
 • 4月ごろプロポーザル書いてる時のバージョンなので少し古いのはご容赦ください

  7. twitter: @__yumechi misskey: @[email protected]
 必要なものを全部入れたらインストールできた
 • メモ取ってたんですが10個くらい入れた気がします
 • ちゃんとビルドに必要なライブラリを知っておけばよかったなぁ…
 ◦

    インストールする!→失敗する→ライブラリを調べて追加、を繰り返す 
 ◦ 多分最初からまとまったところを見ておけばこうはならんかったはず 
 ◦ (どこ見ればいいのか知らないので該当ページ知ってる方いらっしゃいましたら Twitterとかに流して ください…)
 • で、色々入れたら8分くらいかけてビルドが走るので、ビルドが終わったらasdf での PHPインストール完了!やったね!

  8. twitter: @__yumechi misskey: @[email protected]
 まとめ
 • asdf便利なツール
 • PHPとはちょっと相性が悪いかもしれない
 ◦

    これ自前でビルドしてるのと変わらんのでは? 
 ◦ もしかすると一回PHPをインストール(brewでもなんでも)しとくと楽説(未検証) 
 • PHPをビルドするって大変なんだなぁという体験ができるので、一度は体験しておく とよいのかもしれません
 ◦ Dockerのありがたみがよくわかる 
 ◦ インフラ周りやってる人のありがたみがよくわかる 

  9. twitter: @__yumechi misskey: @[email protected]
 まとめ
 • asdf便利なツール
 • PHPとはちょっと相性が悪いかもしれない
 ◦

    これ自前でビルドしてるのと変わらんのでは? 
 ◦ もしかすると一回PHPをインストール(brewでもなんでも)しとくと楽説(未検証) 
 • PHPをビルドするって大変なんだなぁという体験ができるので、一度は体験しておく とよいのかもしれません
 ◦ Dockerのありがたみがよくわかる 
 ◦ インフラ周りやってる人のありがたみがよくわかる 
 😇 
 LT待ち時間でPHPインストールした環境で検証しましたがダメそうでした、残念

  10. twitter: @__yumechi misskey: @[email protected]
 当日質問があったこと
 • 複数バージョン入れようとするとライブラリの依存バージョンが変わると思うが、そ の辺りはどうやっているか?
 ◦ 自分が試している限りは

    PHP7.4, 8.0, 8.1, 8.2 は問題起きなかった 
 ◦ インストールしてる順序が古い順なので問題起こらなかった可能性 
 ◦ 古いバージョンについては検証していません 
 • PHP4系など古いバージョンは本当に動作するのか?
 ◦ 未検証です
 ◦ 調査して何かわかったらどこかにまとめる予定です 

  11. 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/