PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

44
PHP7を実際に動かしてみた 株式会社スタジオ・アルカナ 深澤 ひかり

Transcript of PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

Page 1: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7を実際に動かしてみた株式会社スタジオ・アルカナ

深澤 ひかり

Page 2: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

Hikari Fukasawa @hico00

株式会社スタジオ・アルカナ 4ねんせい=PHP歴

最近は、フロントエンド強化中

- 休日はゲームしかしてません。

- 来週から一人暮らしスタート。

Page 3: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

Milkcocoa Meetup vol5 (12/4) JSでなにか実装します。

Page 4: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

株式会社スタジオ・アルカナ中央線荻窪駅にある16名程のWeb制作会社 受託開発をしつつ、自社サービスの開発

Page 5: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

実績

『TOVY』11/16リリース

株式会社HAROiD

!「TVをもっと楽しく遊べる

 おもちゃ(TOY)」

Page 6: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

TOVY▼フロントエンド React.js, gulp, Sass, Slim ▼サーバーサイド PHP5.6, Laravel5.1, MySQL !▼インフラ AWS EC2, S3, ELB,Opsworks, Lambda, Route53, CloudFrond !etc…

Page 7: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

やっとほんだい

Page 8: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

今日おはなしすること

1. PHP7について(さらっと)

2. PHP7を実際にインストールしてみる

3. PHP7環境で動かす

Page 9: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

1. PHP7について(さらっと)

Page 10: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7というものをしっているひと?

Page 11: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7の新機能とか、

1つでもしっているひと?

Page 12: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

実際にインストールしてみたひと?

Page 13: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7について

今月リリースされる(らしい) !

新機能はもちろんのこと、実行速度もはやい

Page 14: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

SPEEDING UP THE WEB WITH PHP 7

Page 15: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7で変わること

——言語仕様とエンジンの改善ポイント

Page 16: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

(さらっと)

Page 17: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

2. PHP7を実際に インストールしてみる

Page 18: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7のインストール

PHP7はまだ正式リリースされていない

(11/25時点)

!

開発中のソースコードが公開されている

Page 19: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

手段そのいち

開発中のソースコードを、 自分でコンパイルをして、動かす。 !

!

→ コンパイルとか、時間もかかるし大変…

Page 20: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

手段そのに

お試しだし、簡単につかえるものをつかっちゃう !→ Rasmus の VagrantBox

 https://vagrantcloud.com/rasmus/boxes/php7dev/

!→ Zend が公開しているパッケージ

 http://php7.zend.com/

Page 21: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

手段そのに

お試しだし、簡単につかえるものをつかっちゃう !→ Rasmus の VagrantBox

 https://vagrantcloud.com/rasmus/boxes/php7dev/

!→ Zend が公開しているパッケージ

 http://php7.zend.com/

Page 22: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7 nightly by Zend Technologies

Page 23: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHP7 nightly

- Ubuntu14.04 - Debian8 - CentOS7 が対応

!

今回は CentOS7 で試してみました。

(7と7でなんかいいじゃんっていう理由)

Page 24: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

インストール手順

Page 25: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

インストール手順

コピペするだけ

Page 26: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

CentOS7

Vagrant で CendOS7 の box を用意

$ vagrant box add centos7 https://f0fff3908f081cb6461b407be80daf97f07ac418.googledrive.com/host/0BwtuV7VyVTSkUG1PM3pCeDJ4dVE/centos7.box

Page 27: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

私的つまづきポイント1

CentOS6で使っていたコマンドが使えなくなっていたりで、若干ここでつまづく。 !例:サービスの起動は、chkconfigやserviceではなく、

  systemdのデーモンで管理する。

$ systemctl start httpd !

$ systemctl enable httpd

Page 28: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

私的つまづきポイント2

mount エラーが発生する

Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was: !mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant !The error output from the last command was: !/sbin/mount.vboxsf: mounting failed with the error: No such device

Page 29: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

私的つまづきポイント2リビルドを実行する vagrant ssh !sudo /etc/init.d/vboxadd setup > Removing existing VirtualBox non-DKMS kernel modules [ OK ] > Building the VirtualBox Guest Additions kernel modules > Building the main Guest Additions module [ OK ] > Building the shared folder support module [ OK ] > Building the OpenGL support module [ OK ] > Doing non-kernel setup of the Guest Additions [ OK ] > You should restart your guest to make sure the new modules are actually used !exit !vagrant halt vagrant up

Page 30: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

(PHPじゃないところで

つまづきまくって心がおれかける)

Page 31: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

php7-nightly のインストール

vi /etc/yum.repos.d/php7-nightly.repo

1. yumのリポジトリを追加する

!

[zend-php7] name = PHP7 nightly by Zend Technologies baseurl = http://repos.zend.com/zend-server/early-access/php7/repos/centos/ gpgcheck=0

Page 32: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

php7-nightly のインストール

yum install php7-nightly

2. 追加したリポジトリをインストールする

!

[zend-php7] name = PHP7 nightly by Zend Technologies baseurl = http://repos.zend.com/zend-server/early-access/php7/repos/centos/ gpgcheck=0

Page 33: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

php7-nightly のインストール

cp /usr/local/php7/libphp7.so /etc/httpd/modules/

3. Apacheの設定

!

LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>

Page 34: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

php7-nightly のインストール

4. パスを通してあげる

!vi /etc/profile.d/php7.sh > export PATH=${PATH}:/usr/local/php7/bin/:/usr/local/php7/sbin/ !source /etc/profile

Page 35: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

インストール完了(`・ω・´)

Page 36: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

PHPバージョンの確認

[root@localhost ~]# php -v PHP 7.0.1-dev (cli) (built: Nov 10 2015 20:24:09) ( NTS ) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

Page 37: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

ね、かんたんでしょ?

Page 38: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

3. PHP7環境で動かす

Page 39: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Page 40: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

SIGN

PHP 5.3.29 から PHP7へ

!

PHP7は後方互換も重視されてるらしく、

移行もかんたんらしいけど…?

Page 41: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

結果

エラー0件で、正常に動いていました(やったぁ) !ベンチマークについて: あまり目立つ結果ではなかったので、Wordpressとかのベンチマークを見た方が実感できるかと おもいます。

Page 42: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

さいごに

今回インストールしたものはあくまで開発版なので、正式リリース後は改めてインストールしましょうね。

Page 43: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Page 44: PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy

ご清聴、ありがとうございました!