2012-08-24 86 views
1

我使用nginx作爲web服務器,當我做phpinfo();它使用/etc/php5/fpm/php.ini如何在運行時使用ini_set()方法設置php.ini值?

現在在我的php代碼中,我嘗試使用以下代碼設置文件上傳大小和最大文件上傳。

ini_set('max_file_uploads', "50");  
ini_set('upload_max_filesize', '250M'); 

但是當我做ini_get(「max_file_uploads」)和回顯值它顯示的默認值爲20,事實上我使用的ini_set我不能改變任何INI值的運行時間()。

有關如何使用php代碼在運行時更改這些值的任何想法?

謝謝。

+0

問:編輯/etc/php5/php.ini時會發生什麼?問:你在phpinfo()中看到了什麼? – paulsm4

+0

當我更改/etc/php5/fpm/php.ini中的相關設置時,它顯示新的更改值。所以它只是我不能使用ini_set()更改值。我不想只根據應用程序的一部分來更改全局ini設置。 –

回答

1

並非所有PHP ini指令都可以在運行時更改(通過ini_set)。請參閱PHP手冊的the file uploads sectiondefinition of the changeability values,它們是您所需設置的PHP_INI_SYSTEM和PHP_INI_PERDIR,它們都不能在運行時設置。

要僅在應用程序的一部分中獲得這些設置,您可能需要在php.ini文件中全局化並設置max_file_uploads設置(因爲它是PHP_INI_SYSTEM),然後使用您最喜歡的每個目錄配置機制(.htaccess,.user.ini (in >5.3)等)爲您的應用的特定部分設置upload_max_filesize。 See here爲好指示。

+0

感謝ctrahey引導我到正確的文檔。 +1 –

相關問題