回答问题

我使用 nginx 作为网络服务器,当我做 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 代码更改这些值的任何想法?

谢谢。

Answers

并非所有 PHP ini 指令都可以在运行时更改(通过 ini_set)。请参阅 PHP 手册的文件上传部分和可变性值](http://www.php.net/manual/en/configuration.changes.modes.php)的[定义,它们是 PHP_INI_SYSTEM 和 PHP_INI_PERDIR 用于您所需的设置,两者都不能在运行时设置。

要仅在应用程序的一部分中获取这些设置,您可能需要妥协并在 php.ini 文件中全局设置 max_file_uploads 设置(因为它是 PHP_INI_SYSTEM),然后使用您喜欢的每个目录的配置机制(.htaccess、.user.ini (in >5.3)等)为应用程序的特定部分设置 upload_max_filesize。请参阅此处以获得良好的说明。

Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐