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
あの日見たバグを僕達はまだ公式ドキュメントで見れない / The bug we saw tha...
Search
Yoshihide TANIGUCHI
January 31, 2017
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
あの日見たバグを僕達はまだ公式ドキュメントで見れない / The bug we saw that day
2017/01/31 PHP 勉強会 での LT 資料です
Yoshihide TANIGUCHI
January 31, 2017
More Decks by Yoshihide TANIGUCHI
See All by Yoshihide TANIGUCHI
スタディサプリ/Quipper オンラインミートアップ #1(Webエンジニア) / 新規サービス開発チームの紹介 / Studysapuri online meetup #1
ravelll
0
2.9k
Raspberry Pi と Netatmo と少しの ruby で作る二酸化炭素濃度モニター君
ravelll
0
110
Ruby の静的型チェックの話
ravelll
0
96
Quipperian and VimConf2019
ravelll
1
5.8k
さくらのフロントエンド さくらの Vue.js // vue.js in SAKURA
ravelll
3
4.5k
PHP7.2で始める型宣言 // Type declaration with PHP 7.2
ravelll
0
290
ISUCONのすゝめ // Shall we ISUCON ?
ravelll
0
120
オブジェクト指向設計とデザインパターンの基礎 / Basics of object oriented design and design pattern
ravelll
0
750
1人から始める大規模Webアプリケーションの言語バージョンアップ / Upgrade PHP in a large application
ravelll
0
160
Other Decks in Programming
See All in Programming
Oxcを導入して開発体験が向上した話
yug1224
4
290
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.2k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6k
Oxlintのカスタムルールの現況
syumai
5
1k
エージェンティックRAGにAWSで入門しよう!
har1101
7
1.1k
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
120
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
140
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
2.9k
CSC307 Lecture 17
javiergs
PRO
0
310
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
450
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
170
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
55
8.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
530
New Earth Scene 8
popppiees
3
2.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
How to train your dragon (web standard)
notwaldorf
97
6.7k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Tell your own story through comics
letsgokoyo
1
950
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Transcript
୩ޱఓӳ!SBWFMMM ͋ͷݟͨόάͷৄࡉΛ ୡ·ͩ ެࣜυΩϡϝϯτͰ ݟΕͳ͍
ࡢͷൃදʹͯ
్த1)1ͷόάΛ౿Ή IUUQTTQFBLFSEFDLDPNHTUIFCVHXFTBXUIBUEBZ
ͦͷΛ͠·͢
୩ޱఓӳ@ravelll
wΞϓϦέʔγϣϯͷػೳ։ൃ wΞϓϦέʔγϣϯج൫ͷอक w։ൃج൫ͷվળ &$ج൫νʔϜ Χϥʔϛʔγϣοϓάϧʔϓ
͋Εͬ͜ͷػೳಈ͔ͳ͍ʜ wϖʔδʹΞΫηεͨ͠ΒඇಉظʹσʔλΛऔಘɾඳը w"KBYͰ(&5ͯ͠KTPOड͚औͬͯඳը wKTPOऔಘ࣌ʹ1)1ଆͰΤϥʔ͕ग़͍ͯͨ •PHP Warning: mb_convert_variables(): Cannot handle recursive
references in ʙ
1)1ͷόʔδϣϯΞοϓΛ͍ͬͯͨ w͋Δ8FCΞϓϦέʔγϣϯͷϩʔϧ $ wc -l $(find . -name \*.php) |
tail -1 325048 total w1)11)1 wίʔυमਖ਼͕΄΅΄΅ྃɺಈ࡞ݕূΛ͍ͯͨ͠
͋Εͬ͜ͷػೳಈ͔ͳ͍ʜ wϖʔδʹΞΫηεͨ͠ΒඇಉظʹσʔλΛऔಘɾඳը w"KBYͰ(&5ͯ͠KTPOड͚औͬͯඳը wKTPOऔಘ࣌ʹ1)1ଆͰΤϥʔ͕ग़͍ͯͨ •PHP Warning: mb_convert_variables(): Cannot handle recursive
references in ʙ
mb_convert_variables()
NC@DPOWFSU@WBSJBCMFT ͱʁ wมͷͷΤϯίʔσΟϯάΛม͢Δؔ ex) mb_convert_variables(‘UTF-8’, ’EUC-JP’, $var); w$varʹ4USJOH "SSBZ 0CKFDUΛͤΔ
wNC@DPOWFSU@FODPEJOHͱҾͷॱ͕ҧ͏ʢ͔Θ͍͍ʣ mb_convert_variables($to_enc, $from_enc, $var); mb_convert_encoding($str, $to_enc[, $from_enc]);
Cannot handle recursive references in …
Cannot handle recursive references in …
SFDVSTJWFͳSFGFSFODFTʁ
wͦΜͳྻ͍ͯ͠ͳ͍ͧʜʁ wͱ͍͏͔ [‘a’, ‘b’] Ͱ͢Βಉ͡ΤϥʔʹͳΔͧʁʁʁ Ͳ͔͜ͷόʔδϣϯͰ༷͕มΘͬͨʹҧ͍ͳ͍ʂ ެࣜυΩϡϝϯτΛಡ͏ʂʂ
None
ಛʹݴٴ͞Εͯͳ͍
ʔϜࠔͬͨʜ wόʔδϣϯΞοϓલޙͰ1)1ͷιʔεΛಡΈൺͯΈͨͷͷ $ݴޠྗ͕ͯ͘࠶ؼࢀরΛݕ͢ΔΈ͕૿͑ͯΔ͜ͱҎ֎Α ͔͘Βͳ͍ʜ wNC@DPOWFSU@FODPEJOHؔΛ͏Α͏ʹΞϓϦέʔγϣϯͷ࣮ Λ͍͔ͯ͘͠͠ͳ͍ͷ͔ʜ͍Ͱ݁ߏͬͯΔͱ͜Ζ͋Δʜ
None
None
Ξοοο
ؔͷόά༷ͩͬͨ ‣ୈҾʢมݩͷΤϯίʔσΟϯάʣʹͭҎ্ͷΤϯίʔσΟϯ άΛࢦఆͨ͠ͱ͖ɺมରͷ"SSBZͷ࠶ؼతࢀরͷݕ͕ࠪਖ਼ৗʹ Ͱ͖ͳ͍ ex) mb_convert_variables(‘UTF-8’, ‘EUC-JP,Shift_JIS’, $val); mb_convert_variables(‘UTF-8’, ‘auto’,
$val); (‘auto’ ΤΠϦΞεͰɺmbstring.language=Japanese ͷͱ͖ͳΒ ‘ASCII,JIS,UTF-8,EUC-JP,SJIS’)
मਖ਼ϓϧϦΫग़ͯͨʢʣ ‣·͞ʹɺͳςετ͕Ճ͞Ε͍ͯͨʜʂ
ରԠ wόά͕ੜ·ΕΔલͷόʔδϣϯʢʣΛ͏͜ͱʹͨ͠ w͏1)1ܥ"DUJWF4VQQPSUͰͳ͘ͳΓେ͖ͳػೳ Ճ͕ͳ͍ wࠓؤுͬͯͱ͔ʹ͢ΔΑΓ9ʹ͘͢ؤுͬͨ ΄͏͕Α͍ͷͰʜʁ
·ͱΊ wόʔδϣϯΞοϓதʹݴޠͷόάͱग़ձͬͨΛڞ༗͠·ͨ͠ wNC@DPOWFSU@WBSJBCMFTͰϋϚͬͨ wݪҼ͕υΩϡϝϯτʹॻ͔Εͯͳ͔ͬͨ ʢݴٴͨ͠Ϣʔβίϝϯτ͋ͬͨʣ wؔࣗମʹόά͕͋Δ͜ͱ͕͔ͬͨ w1)1Λ͏͜ͱͰҰ୴ճආͨ͠
ͦͷޙ
ϩʔϧͷશ͕1)1ʹ w࠷ॳͷ13Λग़͔ͯ͠Βϱ݄ wରԠʹग़ͨ͠13㲈ݸ
ύϑΥʔϚϯε
None
None
None
None
MPPLT͍͍͡ΌΜ wϐʔΫ࣌ͷϨεϙϯελΠϜ͕Εͳ͘ͳͬͨ wϝϞϦফඅ૿ w1)1ʹظ
·ͱΊ w1)1ʹόʔδϣϯΞοϓͨ͠ wεϧʔϓοτ্͕͢Δ͜ͱ΄ͱΜͲͳ͔ͬͨ wϐʔΫλΠϜͷϨεϙϯεԆ͕ղফ͞Εͨ