I've noticed that PHP's str_word_count
is behaving differently on the command line vs. on the web. The behavior seems to due to the default locale value in each environment. If I use setlocale to view the current locale (echo setlocale(LC_ALL, 0);
), on the command line I get
C/en_US.UTF-8/C/C/C/C
Whereas on the web I get
C
So where do the various PHP SAPIs (cli, fpm, mod_php, etc.) get this default value from?
My presumption is that the weird looking C/en_US.UTF-8/C/C/C/C
locale all six locale categories jammed up together, and that this is telling me LC_CTYPE=en_US.UTF-8
and the other categories are all set the C
locale -- so putting my question another way: Why is does my php-fpm server have all its locale categories set to C
by default, whereas my command line PHP has one locale set to en_US.UTF-8
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…