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周りの設定を全体的に見直した。
まとめ
ブログがめっちゃパフォーマンス改善して満足。