Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Locale Php.ini中的Php语言环境配置_Locale_Php - Fatal编程技术网

Locale Php.ini中的Php语言环境配置

Locale Php.ini中的Php语言环境配置,locale,php,Locale,Php,默认区域设置值可以是php.ini或.htaccess中的places吗 php函数的等价物 setlocale(LC_MONETARY, 'it_IT'); 例如它可以,看看。php.ini中没有任何东西可以帮助您。但作为替代方案,您可以尝试从.htaccess设置环境变量 SetEnv LC_ALL it_IT.UTF-8 但这些设置最多只能对PHP的CGI和FastCGI版本生效,而不是对通常的mod_PHP安装生效。遗憾的是,目前无法在PHP范围内设置此配置。 我一直在看

默认区域设置值可以是php.ini或.htaccess中的places吗

php函数的等价物

   setlocale(LC_MONETARY, 'it_IT');

例如

它可以,看看。

php.ini中没有任何东西可以帮助您。但作为替代方案,您可以尝试从.htaccess设置环境变量

SetEnv   LC_ALL  it_IT.UTF-8

但这些设置最多只能对PHP的CGI和FastCGI版本生效,而不是对通常的mod_PHP安装生效。

遗憾的是,目前无法在PHP范围内设置此配置。 我一直在看代码,ENV方法不起作用,因为
LC.*
变量不像其他变量那样处理

您可以修补PHP以使用您的语言环境,而不是默认的
'C'
语言环境,或者如果确实需要,可以制作一个模块

但实际的方法是在脚本级别执行


编辑:在php.ini中使用auto_prepend_文件可以让您在执行任何脚本之前运行add一些代码,因此它看起来是使用setlocale的好地方。

来自手册:“当未指定任何值时,将在intl函数中使用的区域设置(通过省略相应的参数或传递NULL).这些是ICU区域设置,而不是系统区域设置…“@HalilÖzgür,不管这意味着什么。。。PHP很奇怪。已经有一段时间了,我大体上同意,但我试图给出一个更清晰的解释,但失败了:)你能澄清听起来奇怪的部分吗?你知道如何在使用
nginx
PHP fpm
时设置语言环境吗?PHP不再继承ENV语言环境: