Slide 1

Slide 1 text

1)1FS,BJHJ !TIJOY 9EFCVHͱ*%&ʹΑΔ σόοά࣮ߦͷ࢓૊ΈΛݟΔ

Slide 2

Slide 2 text

D .BTBTIJ4IJOCBSB!TIJOY !TIJOY ৽ݪʢ͠Μ͹Βʣխ࢘ େࡕͰ8FCγεςϜ։ൃ΍ٕज़αϙʔτΛߦ͍ͬͯ·͢ wCMPH IUUQTCMPHTIJOYDPN w1PEDBTU1)1ͷݱ৔ IUUQTQIQHFOCBTIJOYDPN

Slide 3

Slide 3 text

D .BTBTIJ4IJOCBSB!TIJOY ͸͡Ίʹ ⚠ຊൃදͷ಺༰͸։ൃ؀ڥͰͷར༻Λ૝ఆ͍ͯ͠·͢ Πϯλʔωοτ্ʹެ։ͨ͠αʔόͰͷར༻͸ආ͚͍ͯͩ͘͞  👉આ໌ͷͨΊʹ؆ུԽ͍ͯ͠ΔՕॴ͕͋Γ·͢ ৄࡉ͸ൃදޙͷ࣭໰΍ࢀߟࢿྉΛࢀর͍ͯͩ͘͠͞ 👉ײ૝ɺϑΟʔυόοΫ͓଴͍ͪͯ͠·͢ʂ QIQFSLBJHJPSGPSUFFϑΟʔυόοΫϖʔδ

Slide 4

Slide 4 text

D .BTBTIJ4IJOCBSB!TIJOY "HFOEB w 9EFCVH4UFQEFCVHHJOHͱ͸ w 9EFCVH4UFQEFCVHHJOHͷ༗ޮԽ w 9EFCVHͱ*%&ͷ௨৴ w ઃఆͰͭ·ͮ͘ϙΠϯτ

Slide 5

Slide 5 text

D .BTBTIJ4IJOCBSB!TIJOY 9EFCVH4UFQ%FCVHHJOH

Slide 6

Slide 6 text

D .BTBTIJ4IJOCBSB!TIJOY 9EFCVH4UFQEFCVHHJOH w 1)1֦ுϞδϡʔϧ9EFCVHͷσόοάػೳ 4UFQ%FCVHHJOH͸9EFCVHͰͷݺͼ໊ w *%&͔Βର࿩తʹ1)1ίʔυͷ࣮ߦΛ੍ޚ ϒϨʔΫϙΠϯτͰఀࢭɺεςοϓ࣮ߦɺม਺ͳͲͷࢀর w *%&ͱ9EFCVH͕௨৴࣮ͯ͠ݱ

Slide 7

Slide 7 text

D .BTBTIJ4IJOCBSB!TIJOY ίʔυఀࢭ ελοΫτϨʔε ม਺஋ σόοΨૢ࡞ 1IQ4UPSNͷར༻ྫ

Slide 8

Slide 8 text

D .BTBTIJ4IJOCBSB!TIJOY 4UFQEFCVHHJOHͷ༗ޮԽ

Slide 9

Slide 9 text

D .BTBTIJ4IJOCBSB!TIJOY 4UFQEFCVHHJOHͷ༗ޮԽ w YEFCVHNPEFEFCVH w YEFCVHTUBSU@XJUI@SFRVFTU ZFTશͯʹϦΫΤετͰσόοάηογϣϯ։࢝ USJHHFSʢσϑΥϧτʣ৚݅Λຬͨͨ͠৔߹ʹσόοάηογϣϯ։࢝

Slide 10

Slide 10 text

D .BTBTIJ4IJOCBSB!TIJOY YEFCVHTUBSU@XJUI@SFRVFTUUSJHHFSͷ৔߹ ϦΫΤετ৘ใͷԼهΩʔʹ೚ҙͷ஋͕͋Ε͹༗ޮԽ ʢYEFCVHUSJHHFS@WBMVFઃఆ͕͋Ε͹ͦͷ஋ʣ w @(&5@1045@$00,*&@&/7 w 9%(@53*((&3 w 9%(@4&44*0/ʢϑΥʔϧόοΫʣ $ curl http://localhost:8080/demo?XDEBUG_TRIGGER=1

Slide 11

Slide 11 text

D .BTBTIJ4IJOCBSB!TIJOY ࢀߟϒϥ΢β֦ு9EFCVH)FMQFSCZ+FU#SBJOT w 9%(@4&44*0/$PPLJFʹ஋Λ ઃఆͯ͠σόοάηογϣϯΛ༗ޮԽ

Slide 12

Slide 12 text

D .BTBTIJ4IJOCBSB!TIJOY 9EFCVHͱ*%&ͷ௨৴

Slide 13

Slide 13 text

D .BTBTIJ4IJOCBSB!TIJOY ௨৴֓ཁ

Slide 14

Slide 14 text

D .BTBTIJ4IJOCBSB!TIJOY ௨৴֓ཁ 9EFCVH*%&Ͱ઀ଓ *%&9EFCVHͰ௨৴

Slide 15

Slide 15 text

D .BTBTIJ4IJOCBSB!TIJOY 9EFCVHઃఆ઀ଓઌઃఆ w σόοάηογϣϯ͸9EFCVH͔Β*%&ʹ઀ଓʢେࣄʂʣ 5$1*1PS6/*9υϝΠϯιέοτͰ઀ଓ w YEFCVHDMJFOU@IPTU઀ଓઌ *%& ϗετ σϑΥϧτMPDBMIPTU %PDLFS؀ڥͰ͸IPTUEPDLFSJOUFSOBM͕ར༻͞ΕΔ͜ͱ͕ଟ͍ w YEFCVHDMJFOU@QPSU઀ଓઌ *%& ϙʔτ σϑΥϧτ

Slide 16

Slide 16 text

D .BTBTIJ4IJOCBSB!TIJOY 1IQ4UPSNઃఆ଴डઃఆ w ଴ͪड͚ϙʔτઃఆ 1)1%FCVH9EFCVH%FCVHQPSUͰYEFCVHDMJFOU@QPSUΛࢦఆ w 4UBSU-JTUFOJOHGPS1)1%FCVH $POOFDUJPOTΛΫϦοΫͯ͠Ϧεχϯά։࢝

Slide 17

Slide 17 text

D .BTBTIJ4IJOCBSB!TIJOY %#(Q%FCVHHFS1SPUPDPM w 9EFCVHͱ*%&ͷ௨৴Ͱར༻͢Δϓϩτίϧ w *%&ˠ9EFCVHςΩετίϚϯυ FYTUFQ@JOUPJ///aʢJ͸τϥϯβΫγϣϯ*%ɺOVMMऴ୺ʣ w 9EFCVHˠ*%&9.- FY///aYNMaʢ///ϝοηʔδ௕OVMMͰ۠੾Γɺऴ୺ʣ

Slide 18

Slide 18 text

D .BTBTIJ4IJOCBSB!TIJOY FYJOJUσόοάηογϣϯ։࢝ w 9EFCVHηογϣϯ։࢝࣌ʹ*%&΁ૹ৴ w ͜ΕҎ߱͸ɺ*%&͔ΒίϚϯυૹ৴ɺ9EFCVH͕ฦ৴ʹͳΔ

Slide 19

Slide 19 text

D .BTBTIJ4IJOCBSB!TIJOY FYCSFBLQPJOU@TFUϒϨʔΫϙΠϯτઃఆ w *%&ϒϨʔΫϙΠϯτઃఆΛૹ৴ʢϒϨʔΫϙΠϯτ͝ͱʹૹ৴ʣ breakpoint_set -i 3 -t line -f fi le:///var/www/html/routes/web.php -n 13 w 9EFCVHϒϨʔΫϙΠϯτ৘ใΛอ࣋ ର৅ίϚϯυ ର৅τϥϯβΫγϣϯ*%

Slide 20

Slide 20 text

D .BTBTIJ4IJOCBSB!TIJOY FYTUFQ@JOUPεςοϓΠϯ࣮ߦ w *%&1)1ίʔυͷεςοϓΠϯ࣮ߦΛૹ৴ w 9EFCVH1)1ίʔυ࣮ߦɻ࣍ͷߦͰ࣮ߦఀࢭͯ͠ɺϨεϙϯεΛฦ͢ɻ step_into -i 10 
 ίʔυ్தͰఀࢭ ࣍ʹ࣮ߦ͢Δߦʢ*%&͸͜ͷߦͰఀࢭঢ়ଶʣ

Slide 21

Slide 21 text

D .BTBTIJ4IJOCBSB!TIJOY ͦͷଞͷओͳίϚϯυ ίϚϯυ ಺༰ TUFQ@PWFS εςοϓΦʔόʔ TUFQ@PVU εςοϓΞ΢τ DPOUFYU@HFU ࢦఆͨ͠ίϯςΫετͷม਺Λऔಘ FWBM 1)1ίʔυΛૹ৴ͯ͠ɺධՁ݁ՌΛऔಘ GFBUVSF@TFU σόοάηογϣϯػೳΛઃఆ IUUQTYEFCVHPSHEPDTECHQ

Slide 22

Slide 22 text

D .BTBTIJ4IJOCBSB!TIJOY ϩάͰ௨৴಺༰ΛݟΔ w YEFCVHMPHύεΛࢦఆ͢Δͱ௨৴಺༰ΛϑΝΠϧʹه࿥ YEFCVHMPHQBUIUPYEFCVHMPH w YEFCVHMPH@MFWFMϩάϨϕϧ *OGPSNBUJPOʢσϑΥϧτʣ %FCVHϒϨʔΫϙΠϯτͷϚονϯά΋ग़ྗʢ࠷΋ৄࡉʣ w MPH@MFWFMϩά͕๲େʹͳΔͷͰɺ௨ৗ͸ҎԼʹ͓ͯ͘͠ [7] [Step Debug] <- feature_set -i 1 -n show_hidden -v 1 [7] [Step Debug] ->

Slide 23

Slide 23 text

D .BTBTIJ4IJOCBSB!TIJOY ϩά಺༰αϯϓϧ [8] Log opened at 2026-03-21 01:47:40.687357 [8] [Config] INFO: No shared secret: Activating [8] [Step Debug] INFO: Connecting to configured address/port: host.docker.internal:9003. [8] [Step Debug] INFO: Connected to debugging client: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port). [8] [Step Debug] -> (snip) [8] [Step Debug] <- run -i 18 [8] [Step Debug] ->

Slide 24

Slide 24 text

D .BTBTIJ4IJOCBSB!TIJOY ઃఆτϥϒϧγϡʔςΟϯά

Slide 25

Slide 25 text

D .BTBTIJ4IJOCBSB!TIJOY ࠔͬͨΒ ERR: Could not connect to debugging client. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port). w 9EFCVHɺ1IQ4UPSNυΩϡϝϯτΛݟΔ IUUQTXXXKFUCSBJOTDPNIFMQQIQTUPSNUSPVCMFTIPPUJOHQIQEFCVHHJOHIUNM IUUQTYEFCVHPSHEPDTTUFQ@EFCVH w ௨৴ϩάΛݟΔ

Slide 26

Slide 26 text

D .BTBTIJ4IJOCBSB!TIJOY έʔε9EFCVH͕*%&ʹ઀ଓͰ͖ͳ͍ ERR: Could not connect to debugging client. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port). w EFCVHHJOHDMJFOU *%& ʹ઀ଓͰ͖ͳ͍ w 9EFCVH઀ଓઌ͸ਖ਼͍͔͠ʁ w 1IQ4UPSNσόοάηογϣϯΛ଴ͪड͚͍ͯΔʁʢ஬ϚʔΫ༗ޮʁʣ w 1IQ4UPSN଴ͪड͚ϙʔτ͸ਖ਼͍͔͠ 

Slide 27

Slide 27 text

D .BTBTIJ4IJOCBSB!TIJOY έʔεϒϨʔΫϙΠϯτͰࢭ·Βͳ͍ WARN: Debug client detached: Cannot bind file /var/www/html/public/index.php to the web server project. w 1IQ4UPSN1BUINBQQJOHTઃఆͷෆඋ w 1)14FSWFSTͰ1)1 9EFCVH αʔόઃఆΛߦ͏

Slide 28

Slide 28 text

D .BTBTIJ4IJOCBSB!TIJOY έʔεϒϨʔΫϙΠϯτͰࢭ·Βͳ͍ @4&37&3<4&37&3@/".&>ͷ஋Λઃఆ @4&37&3<4&37&3@1035>ͷ஋Λઃఆ αʔόʢ%PDLFSίϯςφʣͷύε ϩʔΧϧͷύε

Slide 29

Slide 29 text

D .BTBTIJ4IJOCBSB!TIJOY έʔε*%&͕FWBM Ͱ஋Λऔಘ [8] [Step Debug] <- eval -i 13 -- KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10p [8] [Step Debug] -> KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10p: (string)($_SERVER['SERVER_NAME'])
 bG9jYWxob3N0: localhost [8] [Step Debug] <- eval -i 14 -- KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10p [8] [Step Debug] -> KHN0cmluZykoJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10p: (string)($_SERVER['SERVER_PORT']) ODA4MA==: 8080 w @4&37&3<4&37&3@/".&>ͷऔಘʢίʔυ΍஋͸CBTFͰΤϯίʔυʣ w @4&37&3<4&37&3@1035>ͷऔಘʢίʔυ΍஋͸CBTFͰΤϯίʔυʣ

Slide 30

Slide 30 text

D .BTBTIJ4IJOCBSB!TIJOY ·ͱΊ w 9EFCVHͱ*%&ͷ௨৴Ͱσόοάૢ࡞Λ࣮ݱ w ઀ଓ͸9EFCVH*%&ɺૢ࡞͸*%&9EFCVH w ௨৴಺༰͸ϩάͰ֬ೝͰ͖Δ w ࢓૊ΈΛ஌Δͷ͸ָ͍͠ʂ ʢͪͳΈʹ9EFCVH͕಺෦Ͱ࣮ߦΛ੍ޚ͢Δ࢓૊Έ΋໘ന͍ʂʣ

Slide 31

Slide 31 text

D .BTBTIJ4IJOCBSB!TIJOY ࢀর w IUUQTYEFCVHPSHEPDTTUFQ@EFCVH w IUUQTYEFCVHPSHEPDTECHQ w IUUQTXXXKFUCSBJOTDPNIFMQQIQTUPSN USPVCMFTIPPUJOHQIQEFCVHHJOHIUNM

Slide 32

Slide 32 text

D .BTBTIJ4IJOCBSB!TIJOY 9EFCVH͕ίʔυ࣮ߦΛࢭΊΔ࢓૊Έ w 9EFCVH4UFQEFCVHHJOH༗ޮ࣌ɺ1)1ίϯύΠϥ͕จ୯ҐͰ ;&/%@&[email protected]Φϖίʔυࠩࠐ USBDF΍QSP fi MFͳͲ΋ಉ༷ w ΦϖίʔυϋϯυϥΛى఺ʹఀࢭ൑ఆΛ࣮ߦ ϒϨʔΫϙΠϯτɺεςοϓ ΠϯcΞ΢τcΦʔόʔ  w ఀࢭͨ͠ΒɺϨεϙϯεΛฦͯ͠ɺίϚϯυड৴଴ͪʹͳΔʢSFDW ʣ w SVO΍TUFQ@JOUPͳͲͷ࣮ߦίϚϯυ͕དྷͨΒ࠶։ &[email protected] "44*(/$7 J JOU   &[email protected] 5.6-$7 J JOU   "44*(/$7 K 5