このネタは、解決しました。

非常にくだらないことで、Issueを出してしまいました。

単純に mbstring パッケージが足りていなかっただけでした。

apt install php8.3-mbstring

プロジェクトの方、ご迷惑をおかけしました。 <- 反省だー

 


ここのサイトは、Joomla なんですけど、アップデート催促があるので、ちょくちょくアップデートしています。

で、5.2.x から 5.3.0 にアップグレードしたら、 utf8_decode 関数が、Departed ってエラーが出た。

まー、PHPのバージョン(8.3.x以上かな?)によっては、そんなん使うなとのことだ

でも、最新の joomla 5.3.0 は、使ってる

調査したところ、composer.json で、"joomla/string": "^3.0.1"と定義されており、これは、外部依存しています。

↓のプロジェクトが、joomla/stringのようでした。

https://github.com/joomla-framework/string

で、3.x-dev(3.0.1)の該当ソースを調べたところ、以下の状態でしたね。

最新の4.xを見たところ、全然コードが違ったので、いつかは、修正されるんでしょうけど、joomla 5.x.x用では無さそうです。

 

phpが新しい場合、警告が出るのは問題個所が非推奨になってしまったのですが、問題箇所は、2013年に最終更新されていました。

そりゃ、非推奨になることもあるでしょうな

ということで、今のとこ強制的にパッチ修正するしかないですね

 

joomla/libraries/vendor/joomla/string/src/phputf8/native/core.php
 
1.
修正前)
function utf8_strlen($str)
{
    return strlen(utf8_decode($str));
}
 
 
修正後)
function utf8_strlen($str)
{
     return mb_strlen($str, 'UTF-8');
}
 
2.
修正前) Line 204
$strlen = strlen(utf8_decode($str));
 
 
修正後)
$strlen = mb_strlen($str, 'UTF-8');

 

これでとりあえず 警告は、消えてくれますが、根本的な問題は、joomla/stringで修正してもらわないとダメですね。

Issueでも上げときますかね

 

Joomla templates by a4joomla