Slide 1

Slide 1 text

ͽʔ͍͑ͪͽʔ͔ Μ;͊ΕΜ͢2017 ͱ͏͖ΐ͏͜Μ͠ Μ͔͍͑Δͯ͌ʔ ࢲ͸ ͏ͣΒ 2017/10/08

Slide 2

Slide 2 text

ઌऔΓޙ೔ஊ » ͜Ε͸ωλ͔ͩΒͳʂ

Slide 3

Slide 3 text

uzullaͰ͢

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

օ͞ΜPHP޷͖Ͱ͔͢ʁ » ޷͖Ͱ͢Ͷ(அఆ) » ΅͘͸Perlͱ͔Rubyͱ͔Pythonͱ͔ΑΓ΋޷͖ ͰɺͳΜͰ΋PHPͰॻ͖·͢

Slide 8

Slide 8 text

ಥવͰ͕͢Perlͷ༏Ґ఺ » Perl͸͍͍ͩͨͲ͜ʹͰ΋͸͍͍ͬͯΔ » ʮͦΕͳʯ » ʮ͍·͸PythonͰ͸ʁʯ

Slide 9

Slide 9 text

PHP͸ೖͬͯͳ͍ ͜ͱ͕ଟ͍ turai….!

Slide 10

Slide 10 text

» PHP΋Πϯετʔϧͳ͠ʹ͔͍͍ͭͨ » ʮΠϯετʔϧ͠ͳΑʯʮࠟ੻ͷ͜͢ͱౖΒΕΔ͔ Β…ʯʮ!ʯ

Slide 11

Slide 11 text

ʮϨοπνϟϨϯδʂʯ

Slide 12

Slide 12 text

ͱΓͩ͠·ͨ͠ͷ͸ » ͳΜ΋͍Εͯͳ͍coreOS » coreOS͸ɺͳΜʹ΋͸͍ͬͯͳ͍

Slide 13

Slide 13 text

Perl΋ͳ͍ vultr test # perl -v -bash: perl: command not found

Slide 14

Slide 14 text

vultr test # python -bash: python: command not found

Slide 15

Slide 15 text

vultr test # ruby -bash: ruby: command not found

Slide 16

Slide 16 text

php͸… ΋ͪΖΜ vultr test # php -v -bash: php: command not found

Slide 17

Slide 17 text

ͦ͜ͰDocker!

Slide 18

Slide 18 text

Ͱ͸ͳ͍

Slide 19

Slide 19 text

ͦ͜Ͱ

Slide 20

Slide 20 text

curl -s 'http://php.cfe.jp/' | bash

Slide 21

Slide 21 text

αϯϓϧαΠτͷ༷ࢠͰ͢ http://***.***.***.***/

Slide 22

Slide 22 text

σϞ

Slide 23

Slide 23 text

΍ͬͨͬʂʂPHP ͩʂʂʂ

Slide 24

Slide 24 text

ʮ͜ΕΛ ଈphp ͱ໊෇͚Α͏ʯ օ͞Μ͝׆༻͍ͩ͘͞

Slide 25

Slide 25 text

» (ӕͰ͢ɺ͙͢ʹαʔόʔམͱ͠·͢) » (ޙ೔ஊɺམͱ͠·ͨ͠ʣ

Slide 26

Slide 26 text

ղઆɺωλόϥγ curl -s 'http://php.cfe.jp/'

Slide 27

Slide 27 text

(ޙ೔௥ه) » curl -s 'http://php.cfe.jp/'ͷग़ྗ #!/bin/bash curl -s 'http://php.cfe.jp/one-file-php' > /tmp/php chmod +s /tmp/php /tmp/php -S 0.0.0.0:80 rm /tmp/php

Slide 28

Slide 28 text

PHP͸1ϑΝΠϧͰಈ͘ » ͨͩ͘͠͸ɺʮ΄΅ʯڞ༗ϥΠϒϥϦΛল͍ͯϏϧυ Ͱ͖Δ $ wget php.src.tgz; tar xvzf php.src.tgz; cd php-src $ ./configure --disable-all \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --enable-pdo \ --enable-mbstring \ --enable-json

Slide 29

Slide 29 text

$ make all $ scp sapi/cli/php example.jp:~/one-file-php !

Slide 30

Slide 30 text

ldd root@test:~/php-7.1.10# ldd ~/one-file-php linux-vdso.so.1 => (0x00007ffeb2cc2000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f5c39cfe000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5c399f5000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f5c397f0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5c39426000) /lib64/ld-linux-x86-64.so.2 (0x0000559e2e497000) ৭ʑ͋Δ͚ͲɺελςΟοΫϏϧυ׬ᘳͰ͸ͳ͍Ͱ͢Ͷ

Slide 31

Slide 31 text

Ҋ֎ͦΕͳΓʹͳΜͱ͔ͳΔ » pdo(mysql » mysqlnd » json » mbstring » …

Slide 32

Slide 32 text

͜ΕΛ͔ͭ͏ͱ » phpͷόʔδϣϯͨ͘͞Μͱ͔͕؆୯ʹͰ͖·͢ » dockerͱ͔͔ͭΘͳͯ͘΋͍͍͓ʂ » Ұݸ23Mbyte͘Β͍ » ʮphpόΠφϦΛಉࠝͯ͠഑෍ʯʮਖ਼ؾ͔ʁʯ

Slide 33

Slide 33 text

༨ஊͱͯ͠ » PHPΛϏϧυʹ৭ʑ໘౗ͳ४උ͍Γ·͢ΑͶʁ » (apt-get|brew) install blah blah hogehoge…… » ͜Εͩͱ͍Βͳ͍ʂ࠷ߴʂʂʂ » ʮͳʹ͕࠷ߴͳͷʁʯʮ৭ʑ͋Δʯ » ΈΜͳ΋ͬͱconfigureͰmake͠·ͬͨ͘Γ͠·͠ ΐ͏

Slide 34

Slide 34 text

ݸਓతʹ͸… » ʮfatpack͕΍Γ̓…ʯʮ΍Ίͳ͍͞ʯ » (phpackͱ͍͏΋ͷΛઌ೔ͭͬͨ͘ͷͰ) » https://github.com/uzulla/phpack

Slide 35

Slide 35 text

ࠓޙͷల๬ͱ՝୊ » ʮωλʹ՝୊ͳΜͯߟ͑Δඞཁ͕͋Δͷ͔ʁʯ » ͕͢͞ʹArch͸͑͜ΒΕͳ͍น » ʮόΠφϦΛҰ࣌ϑΝΠϧແ͠ʹ࣮ߦ͍ͨ͠ʯ ʮ΍ΊΔΜͩʂʯ » ৭ʑ໘ന͞͸͋Δ » ࢲ͸ീԦࢠͷࢁԞͰͦͦ͜͜ͱͨΊͯ͠·͢ » ͦͷ͏ͪൃද͢Δ͔΋…

Slide 36

Slide 36 text

php8ͱ͔Ͱɺ΋ͬ ͱϑΝοτύοΫ ϑϨϯυϦʔʹͳ Ε͹͍͍ͳ…

Slide 37

Slide 37 text

ଓ͘