PHP の開発バージョン(
master
/8.0.0-dev
)で、mbstring
を有効にするとmbstring.internal_encoding is deprecated
と表示される。$docker run --rm-it keinos/php8-jit /bin/sh / $php -vPHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 PHP 8.0.0-dev (cli) (built: May 21 2020 15:58:54) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies with Zend OPcache v8.0.0-dev, Copyright (c), by Zend Technologies
TL; DR
mbstring.internal_encoding
は PHP 8.0.0 から削除されます。予定
mbstring.internal_encoding
を設定している php.ini
ファイルを探し、mbstring.internal_encoding
の項目を削除(or ;
でコメントアウト)する。
/usr/local/etc/php/conf.d/docker-php-enable-mb.ini
; Extended PHP.ini file to enable mbstring.
; =========================================
; Place this file under /usr/local/etc/php/conf.d/
zend.multibyte = On
zend.script_encoding = UTF-8
mbstring.language = Japanese
- mbstring.internal_encoding = UTF-8
+ ;mbstring.internal_encoding = UTF-8
TS; DR
もともと php.ini
の mbstring.internal_encoding
設定は PHP 5.6.0 以降から非推奨でした。
master
ブランチ(PHP 8.0.0-dev)のコミット 3ca08ee(2020/03/31)で削除され Deprecated
となり、このまま差し戻されなければ PHP 8.0.0 の正式リリースで削除されます。
おそらく、mbstring.internal_encoding
以外の非推奨設定も PHP 8.0.0 を機に削除されるかもしれません。
2020/05/21 現在、非推奨とされる mbstring
の設定項目。
名前 | 変更履歴 | 変更予定 |
---|---|---|
mbstring.http_input | PHP 5.6.0 で非推奨 | |
mbstring.http_output | PHP 5.6.0 で非推奨 | |
mbstring.internal_encoding | PHP 5.6.0 で非推奨 | PHP 8.0.0 で削除予定(3ca08eeで削除) |
mbstring.func_overload | PHP 7.2.0 で非推奨 |