プログラミング WEB

PHP8.2

PHP8.2

|ω・)そろり。

弊Webサーバ、PHP8.2に更新。

今回はSmartyの対応が早かったので、すぐに切り替えることができました。

Smarty4への対応

PHP8.2ではクラスの動的プロパティのチェックが厳しくなったようです。最新版である4.3.0に更新したところ、修正されておりました。

動的プロパティって個人的にバグを誘発しそうでちょっと気持ち悪いので、この変更は賛成だったりします。(´・ω・`)

KCFinderへの対応

PHP8.2において修正が1箇所必要になりました。

KCFinderはPHP7.2以降、バージョンアップで修正が必要な箇所が出てくることがあり、今までに修正した内容を下記のページにまとめました。

プログラミング

解決。

|ω・)そろり。

当Webサイトのお話。

先月にようやくPHP8.1に対応したというSmarty4.1.0がリリースされました。

そこで、当WebサイトをPHP8.1で動作させるために重い腰を上げつつごにょごにょしておりました。

まだ非推奨関数を使用している部分があるようで、当Webサイトの場合は主にdate_format修飾子を使用したときにDeprecatedエラーが発生しておりました。

そういうわけで、PHP8.1でSmarty4.1.0のdate_format修飾子を使用したときの挙動と対策をまとめました。

サーバ

サーバ移転しました

サーバ移転しました

|ω・)そろり。

2年半ぶりWebサーバ移転を敢行しました。

サーバ構成

  • さくらインターネット VPS(v5) 1GB(仮想2コア)
  • ubuntu 20.04LTS
  • Apache2.4 + PHP + Fcgid
  • Let's Encrypt SSL
  • HTTP/2

VPSを512MB(仮想1コア)から1GB(仮想2コア)にパワーアップ。

OSをCentOS7からubuntu20.04LTSに変更。

PHPはソースからのビルドインストール。

最近HTTP/2が気になっていたので対応。

スペックを上げた理由

Webサーバを動かすだけなら512MBで良かったんですが、毎月実行するPHPのビルドがメモリ不足(多分)で止まってしまうことが多いので、ひとつお高いスペックに変更しました。

それでもPHP8.0をビルド中にtopコマンドで眺めていたら、メモリがSwapまで手を出しててヤバいと思いました。(小並感

その他

MySQLは使わなくなったので未インストールです。現状はSQLiteで十分。

そんなところです。(´・ω・)

プログラミング WEB

PHP8.1とKCFinderのお話

|ω・)そろり。

先日の更新にて「PHP8.1でKCFinderが動かない」と報告しました。

重い腰を上げつつ少し調べてみたところ、KCFinderの一部ソースコードを変更することで動作することが分かりましたので、まとめました。

今回はまとめるのに少々手こずってしまい、なかなか時間がかかりました。

また、PHP8.0以降でKCFinderでの画像アップロードをできるようにするための対応方法について、こちらも合わせて読んでいただければと思います。

そろそろ潮時かと思い画像アップローダを自作しようと考えたところだったのですが、なんとか延命することができそうです。

めでたし、めでたし。(´・ω・)

プログラミング WEB

PHP8.1

PHP8.1

|ω・)そろり。

ここ数年、この時期といえばPHPの新しいバージョンがリリースされております。

というわけで、PHP8.1.0正式版がリリースされましたので早速サーバーにインストール。

とりあえず当Webサイトのテスト環境でエラー等が無いか確認、すると以下のような問題点が出てきました。

strftime() 非推奨関数に?

当Webサイト、テンプレートエンジンにSmarty3系を使っているのですが、Deprecatedエラーがちらほら出てきました。

最近リリースされたSmarty4.0.0でも同様のエラーが表示されましたが、GitHubを確認したところ把握されているようなので、そのうち修正されたバージョンがリリースされるのではないでしょうか。

KCFinder 動作しない?

バックエンドにKCFinderを使用しております。

こちらの環境ではPHP8.1ではとうとう動かなくなった模様です。

最初は画像のサムネイル部分に「原因不明のエラーです。」と表示され、一度閉じてしまうとKCFinderそのものが表示されなくなりました。

php.iniどこか設定間違えたかなぁ。本当に原因不明。(´・ω・`)

KCFinder 原因不明のエラー

おしまい

と、いうことで当Webサイトは当面PHP8.0での運用になりそうです。

KCFinderについてはもはや仕方のない話ですね。(´・ω・)

スポンサードリンク