Slide 1

Slide 1 text

PHPͰWebαʔόΛ࡞Ζ͏ PHPΧϯϑΝϨϯε෱Ԭ2017 LT *OOPWBUPS+BQBO*OD ෋ॴ྄ &OHJOFFS

Slide 2

Slide 2 text

͜ΜͳᷚΛฉ͍ͨ

Slide 3

Slide 3 text

PHPͰ΢ΣϒαʔόΛॻ͚ͳͯ͘ڐ͞ΕΔͷ͸ தֶੜ·ͰΒ͍͠Ͱ͢

Slide 4

Slide 4 text

Ͱ͸໰͏

Slide 5

Slide 5 text

PHPͰ΢ΣϒαʔόΛ࡞Δࣾձతҙٛ

Slide 6

Slide 6 text

ແ͍

Slide 7

Slide 7 text

ΤϯδχΞͱͯ͠ͷ੒௕

Slide 8

Slide 8 text

େ͍ʹ༗Δʂ

Slide 9

Slide 9 text

8αʔόͱ͸ʁ

Slide 10

Slide 10 text

8αʔόͱ͸ʁ 1. HTTPϦΫΤετ͕དྷΔ 2. HTTPϨεϙϯεΛฦ͢

Slide 11

Slide 11 text

)551ϦΫΤετ 3'$ࢀর GET /index.html HTTP/1.1 Host: localhost Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; ... Accept: text/html,application/xhtml+xml;q=0.9,image/webp,*/*;q=0.8 DNT: 1 Accept-Encoding: gzip, deflate, sdch, br Accept-Language: en-US,en;q=0.8,ja;q=0.6

Slide 12

Slide 12 text

)551Ϩεϙϯε 3'$ࢀর HTTP/1.1 200 OK Content-Type: text/html Cache-Control: max-age=8640000 Accept-Ranges: bytes Content-Length: 197 Server: OrenoWebServer/0.1

Slide 13

Slide 13 text

؆୯ͦ͏͡Όͳ͍͔

Slide 14

Slide 14 text

෼ޙ ߦͷ8αʔόര஀

Slide 15

Slide 15 text

Μʁ

Slide 16

Slide 16 text

Socket??

Slide 17

Slide 17 text

ಡΜͰ ࡶ

Slide 18

Slide 18 text

ߦ8αʔό ϒϩοΩϯάIO + γϯάϧϓϩηε QSPDFTTͰSFRͣͭ৺ΛࠐΊͯॲཧ

Slide 19

Slide 19 text

ෳ਺ϦΫΤετΛॲཧ͍ͨ͠

Slide 20

Slide 20 text

ྫ͑͹"QBDIFNPE@QIQ ϒϩοΩϯάIO + IOଟॏԽ ༧ΊϓϩηεΛGPSLͯ͠ෳ਺SFRΛॲཧ Prefork

Slide 21

Slide 21 text

Α͠ʂ࡞Ζ͏

Slide 22

Slide 22 text

͞Βʹ෼ޙ ߦͷِ"QBDIFര஀

Slide 23

Slide 23 text

େࣄͳτί͸ίί QSFGPSL

Slide 24

Slide 24 text

*0ଟॏԽͷࢀߟࢿྉ https://speakerdeck.com/bati11/otozhong-liang-kunaruhua

Slide 25

Slide 25 text

DEMO IUUQTHJUIVCDPNIBOIBOQIQDPOGVL@EFNP

Slide 26

Slide 26 text

1)1Ͱ8FCαʔόΛ࡞Δͱ 1. HTTPϦΫΤετ͕෼͔Δʂ 2. HTTPϨεϙϯε͕෼͔Δʂ 3. IOͷॲཧϞσϧ͕෼͔Δʂ ͔΋͠Εͳ͍ʜ