プログラミング

PHP8.0

PHP8.0

|ω・)そろり。

先日PHP8.0が公開されたので早速弊Webサーバーにインストールしました。

当Webサイトではひとまず問題なく動いております。

何やら速くなったそうですが、当Webサイトレベルではさっぱり分かりませんね。(´・ω・)

ついでにCentOS8でPHPをビルドインストールしたまとめを作りましたので、気になる方はどうぞ。

また、PHP8.0に更新してKCFinderが使えない場合の対応についてはこちらもどうぞ。

そのうちApacheやnginxの連携についてまとめたいと考えたりしますが、設定や動作検証に手間がかかるのでなかなか手が付きません。(´・ω・)

WEB プログラミング

KCFinderのお話。

|ω・)そろり。

先日、PHP8.0ベータ版でKCFinderから画像をアップロードできないことを書きました。

やはりこのまま使えなくなると困るので、重い腰を上げつつアップロードできるように変更しました。

もともとPHP7.2から非推奨の警告が出ていた部分だったので、ある程度の目星は立てていたところです。

ついでに変更箇所について簡単にまとめましたので、下記リンクからどうぞ。(´・ω・)

よもやま話

CKEditerで有名なCKFinder(ややこしい)のデモ版を入れてみましたが、一覧に画像が生成されなかったりアップロードできなかったりしたのでやめました。

インターフェースは良く出来てるけど、有償だしそこまですることもないよね~。(´・ω・`)

プログラミング

PHP8.0 (beta版)

PHP8.0 (beta版)

|ω・)そろり。

PHPの次期バージョン、8.0のbeta版が公開されておりましたのでビルドしてみました。

動作環境

  • CentOS 7 64bit
  • Apache 2.4.6
  • mod_fcgid (CGIモード)

configure オプション

基本的にPHP7.4.xと同じオプションでビルドできました。

弊Webサーバでは以下のオプションでPHPを動かしています。

./configure --prefix=/opt/php80beta --with-openssl --enable-mbstring --with-mysqli --with-pdo-mysql --with-pdo-sqlite --with-libdir=lib64 --enable-gd --enable-gd-jis-conv --with-jpeg --with-freetype --with-zlib-dir --enable-opcache --with-curl --enable-exif --enable-ftp --with-bz2 --with-gettext --with-xsl --with-imap --with-kerberos --with-imap-ssl --without-pear

インストール後にphp.iniも編集しますが、こちらは割愛。(´・ω・)

each関数の削除

PHP7.2から非推奨関数とされていたeach関数が削除されたようです。

バックエンド側にてKCFinderというファイル管理ツールを使用しているのですが、画像をアップロードしようとすると以下のようなエラー表示されます。

Fatal error: Uncaught Error: Call to undefined function kcfinder\each() ...

(長いので省略)

要するにアップロードできなくなりました。(´・ω・`)

KCFinderを使用する場合は7.4以下にしておいたほうが良いでしょう。

※なお、7.4のサポート期間が過ぎたら(セキュリティ的な意味で)諦めましょう。(´・ω・)

プログラミング PC

うぶんちゅ

うぶんちゅ

|ω・)そろり。

先日、ノートPCを購入しました。
主要なスペックは以下のとおりです。

  • AMD Ryzen 5 3500U (4Core/8Thread/2.1GHz)
  • Memory 8GB DDR4-2400
  • SSD 256GB
  • AMD Radeon Vega 8 グラフィックス
  • 14inch FullHD 1920x1080 ノングレア

メインのデスクトップPCはWindowsなので、ノートPCにはubuntu(Linux)をインストールしました。

Windowsはバックアップを取った上で生存させておりますが、よっぽどのことが無い限り使わないでしょう。

経験上、LinuxだとWeb関係の開発環境を構築しやすいし扱いやすいんですよ。(´・ω・)

そういうわけでPHP7.4をビルドインストールして必要なパッケージや手順を簡単にまとめました。

興味がありましたら、ぜひどうぞ。

プログラミング

はいぱーてきすとぷろせっさ7.2

はいぱーてきすとぷろせっさ7.2

|ω・)そろり。

PHP7.2が公開されたので早速サーバーにぶっ込みました。

気になったことを下記に挙げておきますねー。

mcrypt関数が削除

mcrypt関数がサポートされなくなったようです。

ビルド時のconfigureで"--with-mcrypt"を入れると非推奨とツッコミが入りました。

CentOSだとphpMyAdminを使う時に「mcrypt拡張入れろよ!(意訳)」ってツッコミを入れられて、わざわざ他のリポジトリ(epelやらRPMForgeなど)からlibmcryptをインストールする、という事案を経験した人もいると思います。

うちのサーバーに入れてあるphpMyAdmin(4.7.x)はどうなるんだ?と思いつつ開いてみたら特に問題なく動いております。特に警告表示もありませんでした。おそらくちゃんと対応しているんでしょうね。なお、その他のバージョンは確認していないので分かりません。(´・ω・)

KCFinderで警告表示

KCFinderはバックエンド側で使っております。

バージョンは最新の3.12なのですが、こんなモノが表示されました。

KCFinderでアップロード警告

each関数がPHP7.2.0から非推奨になっているようです。
参考 PHPマニュアル : each

ソースコードの該当箇所を見てみましたが、修正できそうな面倒くさそうな感じ。(´・ω・)

今のところ自分が使う分には不具合は無い感じです。

最新と言っても3年前なので、PHP次期バージョンでどうなることやら。(´・ω・`)

スポンサードリンク