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

Preview:

Citation preview

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

深澤 ひかり

Hikari Fukasawa @hico00

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

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

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

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

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

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

実績

『TOVY』11/16リリース

株式会社HAROiD

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

 おもちゃ(TOY)」

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

やっとほんだい

今日おはなしすること

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

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

3. PHP7環境で動かす

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

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

PHP7の新機能とか、

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

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

PHP7について

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

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

SPEEDING UP THE WEB WITH PHP 7

PHP7で変わること

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

(さらっと)

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

PHP7のインストール

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

(11/25時点)

!

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

手段そのいち

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

!

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

手段そのに

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

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

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

 http://php7.zend.com/

手段そのに

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

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

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

 http://php7.zend.com/

PHP7 nightly by Zend Technologies

PHP7 nightly

- Ubuntu14.04 - Debian8 - CentOS7 が対応

!

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

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

インストール手順

インストール手順

コピペするだけ

CentOS7

Vagrant で CendOS7 の box を用意

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

私的つまづきポイント1

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

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

$ systemctl start httpd !

$ systemctl enable httpd

私的つまづきポイント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

私的つまづきポイント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

(PHPじゃないところで

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

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

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

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>

php7-nightly のインストール

4. パスを通してあげる

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

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

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

ね、かんたんでしょ?

3. PHP7環境で動かす

SIGN

PHP 5.3.29 から PHP7へ

!

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

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

結果

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

さいごに

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

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