PHPについて浦島太郎だったのでわかったことを書く

TL;DR

サーバを見直す機会があったので書いておく。

とはいえ僕はPHPを書く機会はなかったので、環境構築していてわかったこと、インフラエンジニア的な視点の記事にはなっている。最近のPHPのフレームワークや言語仕様については言及しない。

最新版は8.x

最新のPHPは8系。具体的には8.2。remiリポジトリを漁っていたら8.3のアルファが出ていた。

僕はPHPは7の知識で止まっていたので、8について色々調べると7から変わっていることに気づいた。

xdebugの最新がPHP7非対応

3.1でPHP7の対応ラストバージョンとのこと。なのでPHP7で動いているアプリケーションで「”^2.1.4″」みたいにcomposerで書いている場合は、新規に環境構築しようとすると動かない。3.1から上はPHP8のみ対応にしてる。

PHP7のアプリを入れる場合は「xdebug-3.1.6」を指定しよう。

apcu-bcがPHP8では非対応

PHP8ではapcの後方互換性とか知りませんなのだ。

jitの導入

なんか見てる。

PHP8のリリースが20年とかなので、僕は本当にこの4年間PHPと距離を置いてきたんだなあ、と思う。Ruby界隈のニュースにはくわしいつもりだったが……意識して情報を入れてこないとなかなか入ってこないね。

Opcacheの一部として実装されているが..という話。詳しい説明はリンク先に譲るが、この設定を書くことでさくさく感が増した。

zend_extension = [モジュールまでのパス]/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.enable_cli=1

これらをまとめて、今のサイトのPHP周りの設定を全体的に見直した。

まとめ

ブログがめっちゃパフォーマンス改善して満足。