Help us understand the problem. What is going on with this article?

PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated

PHP の開発バージョン(master/8.0.0-dev)で、mbstring を有効にすると mbstring.internal_encoding is deprecated と表示される。

$ docker run --rm -it keinos/php8-jit /bin/sh
/ $ php -v
PHP 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.inimbstring.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 で非推奨
KEINOS
A Japanese made in Mexico with Mexican quality ;-) Who monkey around the jungle of codes.記事の日本語がおかしかったら遠慮なく編集リクください。また、記事に「LGTM」が付くたび、なるべく見直して、何かしら加筆・修正してブラッシュアップしています。更新頻度が高いためストックされても基本的に通知はお送りしません。
https://blog.keinos.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした