如何/不能使用ini_set()方法在运行时设置php.ini值?

时间:2012-08-24 05:52:50

标签: nginx php ini

我使用nginx作为web服务器,当我使用phpinfo();它使用/etc/php5/fpm/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代码在运行时更改这些值的任何想法?

感谢。

1 个答案:

答案 0 :(得分: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获得良好的指示。