Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
即php (PHPカンファレンス2017 懇親会LT)
uzulla
October 08, 2017
Programming
0
1.3k
即php (PHPカンファレンス2017 懇親会LT)
2017-10-08 PHPカンファレンス2017 懇親会LT
uzulla
uzulla
October 08, 2017
Tweet
Share
More Decks by uzulla
See All by uzulla
uzulla
1
210
uzulla
0
190
uzulla
13
11k
uzulla
2
1.8k
uzulla
1
3.3k
uzulla
6
5.3k
uzulla
0
58
uzulla
0
160
uzulla
4
550
Other Decks in Programming
See All in Programming
nbkouhou
1
1.2k
decoc
1
340
malvinstn
1
650
asumikan
0
290
tommykw
1
350
saki4869
0
190
takahi5
0
230
o0h
PRO
1
1.5k
aratayokoyama
0
220
dulltz
0
520
yshrsmz
1
460
akkeylab
0
350
Featured
See All Featured
trishagee
20
2.1k
paulrobertlloyd
71
1.4k
mza
80
4.1k
danielanewman
1
480
holman
288
130k
destraynor
223
47k
lemiorhan
626
42k
tanoku
86
8.5k
tenderlove
52
3.4k
lara
590
61k
malarkey
192
8.6k
yeseniaperezcruz
302
31k
Transcript
ͽʔ͍͑ͪͽʔ͔ Μ;͊ΕΜ͢2017 ͱ͏͖ΐ͏͜Μ͠ Μ͔͍͑Δͯ͌ʔ ࢲ ͏ͣΒ 2017/10/08
ઌऔΓޙஊ » ͜Εωλ͔ͩΒͳʂ
uzullaͰ͢
None
None
None
օ͞ΜPHP͖Ͱ͔͢ʁ » ͖Ͱ͢Ͷ(அఆ) » ΅͘Perlͱ͔Rubyͱ͔Pythonͱ͔ΑΓ͖ ͰɺͳΜͰPHPͰॻ͖·͢
ಥવͰ͕͢Perlͷ༏Ґ » Perl͍͍ͩͨͲ͜ʹͰ͍͍ͬͯΔ » ʮͦΕͳʯ » ʮ͍·PythonͰʁʯ
PHPೖͬͯͳ͍ ͜ͱ͕ଟ͍ turai….!
» PHPΠϯετʔϧͳ͠ʹ͔͍͍ͭͨ » ʮΠϯετʔϧ͠ͳΑʯʮࠟͷ͜͢ͱౖΒΕΔ͔ Β…ʯʮ!ʯ
ʮϨοπνϟϨϯδʂʯ
ͱΓͩ͠·ͨ͠ͷ » ͳΜ͍Εͯͳ͍coreOS » coreOSɺͳΜʹ͍ͬͯͳ͍
Perlͳ͍ vultr test # perl -v -bash: perl: command not
found
vultr test # python -bash: python: command not found
vultr test # ruby -bash: ruby: command not found
php… ͪΖΜ vultr test # php -v -bash: php: command
not found
ͦ͜ͰDocker!
Ͱͳ͍
ͦ͜Ͱ
curl -s 'http://php.cfe.jp/' | bash
αϯϓϧαΠτͷ༷ࢠͰ͢ http://***.***.***.***/
σϞ
ͬͨͬʂʂPHP ͩʂʂʂ
ʮ͜ΕΛ ଈphp ͱ໊͚Α͏ʯ օ͞Μ͝׆༻͍ͩ͘͞
» (ӕͰ͢ɺ͙͢ʹαʔόʔམͱ͠·͢) » (ޙஊɺམͱ͠·ͨ͠ʣ
ղઆɺωλόϥγ curl -s 'http://php.cfe.jp/'
(ޙه) » 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
PHP1ϑΝΠϧͰಈ͘ » ͨͩ͘͠ɺʮ΄΅ʯڞ༗ϥΠϒϥϦΛল͍ͯϏϧυ Ͱ͖Δ $ 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
$ make all $ scp sapi/cli/php example.jp:~/one-file-php !
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) ৭ʑ͋Δ͚ͲɺελςΟοΫϏϧυᘳͰͳ͍Ͱ͢Ͷ
Ҋ֎ͦΕͳΓʹͳΜͱ͔ͳΔ » pdo(mysql » mysqlnd » json » mbstring »
…
͜ΕΛ͔ͭ͏ͱ » phpͷόʔδϣϯͨ͘͞Μͱ͔͕؆୯ʹͰ͖·͢ » dockerͱ͔͔ͭΘͳ͍͍͓ͯ͘ʂ » Ұݸ23Mbyte͘Β͍ » ʮphpόΠφϦΛಉࠝͯ͠ʯʮਖ਼ؾ͔ʁʯ
༨ஊͱͯ͠ » PHPΛϏϧυʹ৭ʑ໘ͳ४උ͍Γ·͢ΑͶʁ » (apt-get|brew) install blah blah hogehoge…… »
͜Εͩͱ͍Βͳ͍ʂ࠷ߴʂʂʂ » ʮͳʹ͕࠷ߴͳͷʁʯʮ৭ʑ͋Δʯ » ΈΜͳͬͱconfigureͰmake͠·ͬͨ͘Γ͠·͠ ΐ͏
ݸਓతʹ… » ʮfatpack͕Γ̓…ʯʮΊͳ͍͞ʯ » (phpackͱ͍͏ͷΛઌͭͬͨ͘ͷͰ) » https://github.com/uzulla/phpack
ࠓޙͷలͱ՝ » ʮωλʹ՝ͳΜͯߟ͑Δඞཁ͕͋Δͷ͔ʁʯ » ͕͢͞ʹArch͑͜ΒΕͳ͍น » ʮόΠφϦΛҰ࣌ϑΝΠϧແ͠ʹ࣮ߦ͍ͨ͠ʯ ʮΊΔΜͩʂʯ » ৭ʑ໘ന͋͞Δ
» ࢲീԦࢠͷࢁԞͰͦͦ͜͜ͱͨΊͯ͠·͢ » ͦͷ͏ͪൃද͢Δ͔…
php8ͱ͔Ͱɺͬ ͱϑΝοτύοΫ ϑϨϯυϦʔʹͳ Ε͍͍ͳ…
ଓ͘