我正在尝试上传更大的文件,所以我在php代码中设置了这个
ini_set('upload_max_filesize', '1000M');
ini_set('post_max_size', '1100M');
ini_set('memory_limit', '1200M');
但是$ _POST和$ _FILES是空的。但是,当我更改php.ini设置时,它的工作原理。为什么它不会动态改变设置?
答案 0 :(得分:2)
看看这些:
http://www.php.net/manual/en/ini.list.php
http://www.php.net/manual/en/configuration.changes.modes.php
阅读后,似乎您可以使用ini_set
修改的唯一选项是memory_limit
。
其他2可在php.ini文件,httpd.conf,.htaccess或每个目录.user.ini文件中配置。
意思是,如果要更改这些值,则必须能够访问服务器的配置!你将无法从剧本中买得起!
答案 1 :(得分:2)
在PHP启动后更改这些设置为时已晚。
upload_max_filesize
- 在运行PHP脚本并执行ini_set()之前上传 post_max_size
- 同样即使您可以更改memory_limit
(取决于服务器配置),如果您期望大量上传,也会为时已晚。
有关详细信息,请参阅ini_set()
和http://www.php.net/manual/en/ini.list.php。
答案 2 :(得分:1)
每个脚本不允许更改前两个设置,但即使它们 ,它仍然无效,因为在脚本之前必须处理文件/ POST数据甚至运行,这意味着设置没有机会生效。