プロフィール
しらせ(HN)
プロフィール
とあるIT企業のインフラエンジニア。プライベートでは開発もちょっとやります。
※本ブログの内容はすべて個人の見解であり、所属する企業とは関連ありません。
カテゴリ別
内部リンク
相互リンク
Twitter
来訪
369566 [合計]
326 [今日]
444 [昨日]
Powered by
Powered by AWS Cloud Computing

ByProduct - FukuSanButsu

ふくさんぶつBlog

社内インフラエンジニアの自宅からはじまるIT
自宅のPCに向き合いながら気づいた発見や個人的な体験をまとめいます


【PHP】リリースされたphp8.0を動かしてみた

Date:2020/11/29
Update:2021/06/01

Category:PHP


お疲れ様です。
しらせです。

先日待ちに待ったphp8.0が正式にリリースされました。
JITやらパフォーマンスの改善が大きいということもあり、期待をもって動作テストも含めてインストールしてみました。

「PHP 8」が正式リリース、JITやユニオン型など多数の新機能 - gigazine.net
https://gigazine.net/news/20201127-php-8/

PHP: PHP 8.0.0 Release Announcement - www.php.net
https://www.php.net/releases/8.0/en.php

もくじ

はじめに

実はこちらのブログもphpとapacheを利用しており、まさに今月8日にphp5.6から7.4に移行したばかりでした。

いまだにphpそれも5を使ってたのかよ、、。
まだapache使ってるの?

という話ですが、別に大量のセッションを捌くわけでもなく、思い描いた通りに動かせるような実験環境として作っていますのでいつも後手後手です。(よろしくない)
そしていつ移行しようかモタモタしていたらこんな時期になってしまったんですねー。

php7.4に切り替えた際にもプレビュー版として8が出ていたのは知っていたのですが、本番投入はちょっと怖いなぁということで手を出していませんでしたが、27日に正式にリリースされたということでちょっとだけ触ってみました。

AWSでテスト

ということで、ちゃちゃっとEC2を使って動作を試してみようと思います。

VM作成

重い動作をするものではないので、マシンサイズは小さいものを指定してます。
t2.nano。

セキュリティグループ

パブリックIPを1つ取得したらVMに割り当てます。
セキュリティグループもついでに作って、SSH/22/TCPと80,443/TCPをマイIPから解放しておきます。

php8.0インストール

基本的にはphp7.4と同じコマンドですべて終わります。
php74をphp80に変えて実行しただけですが、特にエラーも出ずインストールが完了しました。

◆SE-Linuxの確認 一応毎回やってる

[user@ip ~]$ getenforce
Disabled

◆apacheインストール

[user@ip ~]$ sudo yum -y install httpd

◆amazon epelとremiインストール

[user@ip ~]$ sudo amazon-linux-extras install epel
[user@ip ~]$ sudo rpm -Uvh http://ftp.riken.jp/Linux/remi/enterprise/remi-release-7.rpm

◆php8.0インストール

[user@ip ~]$ sudo yum -y install php80-php

◆php80その他もろもろインストール

[user@ip ~]$ sudo yum -y install php80-php-devel php80-php-mbstring php80-php-pdo php80-php-xml php80-php-cli php80-php-pear

◆php80バージョン確認
Zend Engineが3.4から4になってますね。

[user@ip ~]$ php80 -v
PHP 8.0.0 (cli) (built: Nov 24 2020 17:04:03) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies

◆phpタイムゾーン
php.iniの場所も7.4と同じですね。

[user@ip ~]$ sudo vi /etc/opt/remi/php80/php.ini

動作テスト

試しにブログを丸っとコピーして実行してみましたが、、、
ブログのような小さい環境では動作速度に大きな違いは見られませんね。

phpinfo

どちらもデフォルトを出力しています。
上:php7.4.12
下:php8.0.0

top

7.4と8.0で全く同じパッケージをインストールしていますがメモリの使用が若干多い気がします。誤差かもしれません。

php.iniの違い

php7.4とphp8.0のphp.iniの違い。
両者のdiffを取ってみましたが、基本的に違う個所はコメントアウトされていました。

唯一有効となっていた設定は以下でした。
「zend.exception_string_param_max_len」はスタックとレース時の文字数設定とのこと。

【PHP8.0】PHP8.0の新機能 - qiita.com
https://qiita.com/rana_kualu/items/fe7998fbe773544d5d25

error_logを設定してブログの全機能をチェックしてみましたが、特に目立ったエラーも無く7.4のコードをそのまま実行できている様子でした。

今さらサーバを立て直すのも面倒なのでしばらくは7.4で動かします。

以上、
お疲れさまでした。



View:1919 この記事をツイート!