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
phpenvやめました🤦♂️
Search
Takashi Kanemoto
July 28, 2021
Programming
0
2.1k
phpenvやめました🤦♂️
「PHPerの今とその先を語り合うフォーラム2021」PHP TechCafeのLT資料です。
https://rakus.connpass.com/event/217189/
Takashi Kanemoto
July 28, 2021
Tweet
Share
More Decks by Takashi Kanemoto
See All by Takashi Kanemoto
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
390
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
860
今年書いた技術記事で伸びたやつの自慢と自分の中では力作なのにさっぱり伸びなかったやつの供養 / My Tech Articles 2024
ttskch
2
150
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
47
40k
データベース/SQL超入門!完全初心者向けに世界一分かりやすく解説します
ttskch
1
6.6k
Symfony UX Autocompleteとかいう 顧客が本当に必要だったもの
ttskch
0
2.1k
就活生あるいは新人エンジニアさんへのお節介なアドバイス
ttskch
0
1.6k
symfony/pantherでWordleを解いてみた
ttskch
0
360
ついに、Webアプリでの帳票印刷のベストプラクティスを編み出しました💡
ttskch
16
20k
Other Decks in Programming
See All in Programming
Build your own WebP codec in Swift
kishikawakatsumi
2
880
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
130
CSC305 Lecture 02
javiergs
PRO
1
260
CSC305 Lecture 04
javiergs
PRO
0
230
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.1k
株式会社 Sun terras カンパニーデック
sunterras
0
190
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
960
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
170
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.5k
Reduxモダナイズ 〜コードのモダン化を通して、将来のライブラリ移行に備える〜
pvcresin
2
670
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Experiences People Love
moore
142
24k
Why Our Code Smells
bkeepers
PRO
339
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
We Have a Design System, Now What?
morganepeng
53
7.8k
Practical Orchestrator
shlominoach
190
11k
Rails Girls Zürich Keynote
gr2m
95
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
GitHub's CSS Performance
jonrohan
1032
460k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Transcript
/16 2021/07/28 #PHPTechCafe @ttskch 1 phpenvΊ·ͨ͠🤦
/16 • ϦεςΟϯάࠂͷձࣾͰWebαʔϏεΛ࡞ͬͯ·ͨ͠ • CTOͱͯ͠ࡏ੶ͨ͠8ؒͰɺࣾһ2໊ˠ60໊ɺ ച্ن5000ສԁˠ27ԯԁʹ·Ͱ 💪 💪 💪
• ຊΛॻ͍ͨΓSchooͰߨٛͨ͠Γͱ͍ͬͨ׆ಈ 2 ͖ͨͭͪ ʙ2020/03 (ג)ΧϧςοτίϛϡχέʔγϣϯζCTO 📝 blog.ttskch.com/thank-you-quartet-communications @ttskch
/16 • डୗ։ൃͱࣾ֎CTO/ٕज़ސۀத৺Ͱ׆ಈͯ͠·͢ • Symfony͕େ͖Ͱ͢ ✨ • ڈΞυϕϯτΧϨϯμʔΛ1ਓͰ15ॻ͍ͨΓ 10ສจࣈͷిࢠॻ੶Λແྉެ։ͨ͠Γ͠·ͨ͠💪💪💪
3 ͖ͨͭͪ 2020/04ʙ ϑϦʔϥϯεWebΤϯδχΞ 👨💻 kannade.jp @ttskch
/16 2021/07/28 #PHPTechCafe @ttskch 4 phpenvΊ·ͨ͠🤦
/28 $ phpenv install 8.0.0 [Success]: Built 8.0.0 successfully. 5
phpenvͱ
/28 $ PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig:/usr/local/ opt/openssl/lib/pkgconfig:/usr/local/opt/icu4c/lib/pkgconfig:/usr/ local/opt/libedit/lib/pkgconfig:/usr/local/opt/libxml2/lib/ pkgconfig" \ PHP_BUILD_CONFIGURE_OPTS="--with-zlib-dir=/usr/local/opt/zlib -- with-bz2=/usr/local/opt/bzip2
--with-iconv=/usr/local/opt/libiconv --with-curl=/usr/local/opt/curl --with-libedit=/usr/local/opt/ libedit --with-jpeg-dir=/usr/local/opt/libjpeg —with-png-dir=/usr/ local/opt/libpng --with-external-gd=/usr/local/opt/gd" \ phpenv install 8.0.0 [Success]: Built 8.0.0 successfully. 6 ࠷ۙͷMacʹ͓͚Δݱ࣮ ࢀߟɿhttps://blog.ttskch.com/mac-phpenv-php-build/
/16 7 ৄͪ͘͜͠Β https://speakerdeck.com/ttskch/phpenv-on-mac-nan-sisugiwarota
/xxx 8 ͰɺͳΜ͔Μ͋ͬͯ
/16 9 ݁ہphpenvΊ·ͨ͠ https://twitter.com/ttskch/status/1406141047063801856
/16 • PHPͷϏϧυ৭ΜͳϛυϧΣΞʹґଘ͍ͯͯ͠ɺԿͯ͠ͳ͍ͷʹյΕΔ ͜ͱ͕Α͋͘Δ্ʹτϥϒϧγϡʔτ͕େม͗͢Δ • ϏϧυΤϥʔΛղফ͠Α͏ͱඞਢͰάάͬͯͨΒ࠷ऴతʹ Homebrew/homebrew-coreͷIssueͰ͢ͰʹٞࡁΈͩͬͨͷΛݟ͚ͭͯɺ ࣗҰମԿΛ࠶ൃ໌͍ͯ͠ΔΜͩΖ͏͔ͱ͍͏ؾ࣋ͪʹͳΔ
• Homebrewʹର͢ΔԼهͷΞυόϯςʔδଞͷखஈͰेସͰ͖Δʢޙड़ʣ 1. ύονόʔδϣϯ୯ҐͰόʔδϣϯࢦఆͰ͖Δ 2. .php-version ͰσΟϨΫτϦ͝ͱʹPHPͷόʔδϣϯΛࢦఆͰ͖Δ 10 Ίͨཧ༝
/16 • ࣮ࡍͷͱ͜Ζɺύονόʔδϣϯ·Ͱࢦఆ͍ͨ͠έʔεͳΜͯ΄΅ͳ͍🤦 • ͋ͬͨ͠Βͦͷ͚࣌ͩDocker͍͍͔͑ͳ 11 1. ύονόʔδϣϯ୯ҐͰόʔδϣϯࢦఆͰ͖Δʁ
/16 12 2. σΟϨΫτϦ͝ͱʹPHPͷόʔδϣϯΛࢦఆͰ͖Δʁ • direnvͱ͍͏πʔϧͰ΄΅ಉ͜͡ͱͰ͖Δ👌 • .envrc ͱ͍͏ϑΝΠϧʹڥมΛఆ͓ٛͯ͘͠ͱɺͦͷσΟϨΫτϦʹ Ҡಈͨ͠ͱ͖ʹࣗಈͰڥมΛಡΈࠐΜͰ͘ΕΔπʔϧ
• https://github.com/direnv/direnv
/28 # Πϯετʔϧ $ brew install direnvʊ $ echo 'eval
"$(direnv hook zsh)"' >> ~/.zshrcʊ # σΟϨΫτϦ͝ͱʹPHPͷύεΛࢦఆ $ cd /path/to/projectʊ $ echo 'export PATH="/usr/local/opt/
[email protected]
/bin:$PATH"' > .envrcʊ $ direnv allow . 13 direnv
/16 14 ͪͳΈʹextension • PECLͰΠϯετʔϧͯ͠ php.ini ʹهɺͰ؆୯ʹՃͰ͖Δ # PECLͷ࣮ߦʹඞཁͳϛυϧΣΞΛΠϯετʔϧ $
brew install pkg-config zlibʊ # Πϯετʔϧͯ͠php.iniʹه $ pecl install apcuʊ $ echo 'extension=apcu.so' >> /usr/local/etc/php/7.4/php.ini ࢀߟɿhttps://grrr.tech/posts/installing-homebrew-php-extensions-with-pecl/
/16 • phpenv on Mac͗͢͠Δ • Homebrewʹର͢ΔΞυόϯςʔδผͷπʔϧͳͲͰସՄೳ • ͜Ε͔ΒϏϧυͷͭΒΈΛΘΓʹͬͯ͘Ε͍ͯΔ͜ͱʹײँͭͭ͠ HomebrewͷPHPΛ͍͖ͬͯ·͢😇
15 ·ͱΊ
/16 16 @ttskch ʘThanks!ʗ