2014-03-12 25 views
0

忽略的mbstring.func_overload我在我的php.ini中的mbstring.func_overload = 7,我需要把它設置爲0的一個目錄。我發現我在使用mod_fcgid使用PHP時無法使用.htaccess,就像我在Debian安裝中一樣。PHP在.user.ini

我在我想要此設置設置爲0和I也被置於含有phpinfo()函數一個test.php的目錄中創建一個.user.ini;在同一個目錄內查看,看看.user.ini是否生效。

除了上面說我要改變我也把一些其他的PHP設置中,我不會讓這個有文件.user.ini設置的,他們只是要注意,如果事情確實發生變化。

我.user.ini:

post_max_size = 12M 
upload_max_filesize = 128M 

[Date] 
date.timezone = "UTC" 

[mbstring] 
mbstring.language = German 
mbstring.func_overload = 0 

奇怪的是:上述所有設置都接受並顯示爲他們在我.user.ini請求test.php的文件時,「局部「設置,除了一個:對於本地和全局配置,mbstring.func_overload仍然是7。

enter image description here

爲什麼是的mbstring.func_overload我.user.ini工作而忽略其他PHP設置完美任何提示?

+0

當,如果你在'php.ini'應用此更改確保其他'的php.ini裏這樣做'文件並重新啓動你的apache服務器。這可能是其中的一個問題 – samayo

+0

我很抱歉,但我不理解你的評論。如果我在php.ini中應用此更改,那麼您的意思是什麼,那麼也將它應用於其他php.ini中?順便說一句:我每次添加或修改一些配置變量時都重新啓動了我的apache。 –

+0

我的意思是說有兩個php.ini文件,你應該先修改它們並重新啓動服務器 – samayo

回答

1

我有同樣的問題。我可以更改.user.ini中的任何mbstrings設置,但不能更改mbstring.func_overload。

UPD:我發現了一個理由 - 中的mbstring.func_overload不能.user.ini被重新定義,因爲有狀態PHP_INI_SYSTEM。

This setting can only be changed from the php.ini file.

解決方案。添加如下行到nginx.conf:

`

location ~ \.php$ { 
     fastcgi_param PHP_VALUE "date.timezone='Europe/Berlin' 
     mbstring.func_overload=2 
     memory_limit=1024M"; 
     ...another fastcgi-options... 
    } 

`