かよきせきデザイン|千葉のホームページ制作>kayokiseki-designブログ

初期管理者画面でのmbstringエラー


SoyCMSのVer.1.8.12をPHP5.6.0以上の環境でインストールすると、初期の管理者設定画面の上部に、

Deprecated: ini_set(): Use of mbstring.internal_encoding is deprecated in /home/サイト名/ドメイン/public_html/soy/common/config/php.config.php on line 6

というエラー文が表示されます。

フォーラムにも「php.config.php でのinternal_encoding設定について」として案内はありますが、忘備録として今回取り上げたいと思います。

このように、画面上部にmbstringの使用についての警告文がでるというものです。


phpマニュアル「PHP: 実行時設定 - Manual」に詳しくはありますが、次の3つのphp.iniのmbstring一部オプションがPHP5.6.0以上から非推奨となりました。

  • mbstring.http_input
  • mbstring.http_output
  • mbstring.internal_encoding

「警告 この機能に頼らないことを強く推奨します」とphpマニュアルに明記されています。これは数バージョン以内に削除される機能ですので、フォーラムにある通りに書き換えて上書き保存しアップロードします。


1.common>configフォルダ内にある「php.config.php」を開きます。

2.6行目のmbstring.internal_encodingの部分をdefault_charsetに変更して、上書き保存します。

3.サーバーに上書きアップロードし、初期の管理者設定画面をリフレッシュします。

わたしの使用しているロリポップでも、phpはver.5.6(モジュール版/CGI版)かver.7.1(CGI版)となっておりますので、あらかじめ該当箇所を上書き修正してアップロードするのがよいと思います。


【補足&超重要なお知らせ

ちょうど本日4/20に過去書いていた記事の中よりこれを投稿しようと思いましたら、実になんと2年ぶりにSoyCMS最新版の1.8.13が昨日4/19公開されていましたΣ(゚Д゚){公開されてビックリ!生きていたのか開発部署~

ダウンロード | SOY CMS 公式サイト - 簡単便利で自由自在なオープンソースマーケティングプラットフォーム、無料で公開中


上記部分は条件分岐で、phpver.5.6以前はmbstring.internal_encodingを、ver.5.6以降はdefault_charsetを使用するように変更されました。


Soyに限らずですが、CMSは新バージョンに何かしら干渉するものが生じて報告があがったり、環境によってはうまくアップデートできなかったりしてもとに戻す作業に迫られることもあります。

その際は、Ver.1.8.12以前を使用される時は本題の通り該当箇所を修正し上書きするか、もしくはVer.1.8.13の「php.config.phpファイル」をそっくり使用するかで対応されるとよろしいかと思います。