$30 off During Our Annual Pro Sale. View Details »

即php (PHPカンファレンス2017 懇親会LT)

uzulla
October 08, 2017

即php (PHPカンファレンス2017 懇親会LT)

2017-10-08 PHPカンファレンス2017 懇親会LT
uzulla

uzulla

October 08, 2017
Tweet

More Decks by uzulla

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

  3. uzullaͰ͢

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. ʮϨοπνϟϨϯδʂʯ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  17. ͦ͜ͰDocker!

    View Slide

  18. Ͱ͸ͳ͍

    View Slide

  19. ͦ͜Ͱ

    View Slide

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

    View Slide

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

    View Slide

  22. σϞ

    View Slide

  23. ΍ͬͨͬʂʂPHP
    ͩʂʂʂ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  27. (ޙ೔௥ه)
    » 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

    View Slide

  28. 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

    View Slide

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

    View Slide

  30. 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)
    ৭ʑ͋Δ͚ͲɺελςΟοΫϏϧυ׬ᘳͰ͸ͳ͍Ͱ͢Ͷ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  37. ଓ͘

    View Slide