がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

mbstring.strict_encodingっていうディレクティブは存在しないのですが…

ちと偶然に色々ありまして。質問を頂戴しました。

mbstring.strict_encoding ってphp.iniのディレクティブがあるのですが、これはなんですか?

先に回答。
「ただのtypoです。その名前をもつディレクティブは、ありません。
 より正しくは。
 php.iniのベースにするべく存在する、tar ballを解凍した直下にある php.ini-recommended ファイルには存在しますが、プログラム中では一切認識される事のない、おそらくtypoであろうディレクティブです」


とりあえず調査してみました。
…端的にぶっちゃけて。

grep -R strict_encoding * > a

の結果…

php.ini-recommended:;mbstring.strict_encoding = Off

と返ってきましたよ orz
mb系であれば、通例、ext/mbstring/mbstring.c あたりでなにがしか引っかけてるもんですがねぇ。


ついでに書くと。
元々、php.ini-recommended ファイルには

; enable strict encoding detection.
;mbstring.strict_encoding = Off

とありまして。
んで…mbstring.strict_detection ってディレクティブは、存在するですよ。
ext/mbstring/mbstring.cに

   STD_PHP_INI_BOOLEAN("mbstring.strict_detection", "0",
   PHP_INI_ALL, OnUpdateLong, strict_detection, zend_mbstring_globals, mbstring_globals)
PHP_INI_END()

とかって記述もありますし。


…上のコメントと考えても…ただのtypoである可能性が結構否定できない…んですよねぇ。
どうしたもんでしょ?