UPLOAD_ERR_INI_SIZE错误,但post_max_size和upload_max_filesize值看起来正确

时间:2013-05-09 14:23:06

标签: php file upload size

我正在尝试上传 17569997字节(~16.7MB)的文件。

在我的脚本中执行错误检查时,我检查设置为1的$_FILES['file']['error']UPLOAD_ERR_INI_SIZE - 上传的文件超过 php.ini中的upload_max_filesize指令)。

发现此错误后,我var_dumping输出一些值并调用phpinfo()只是为了尝试找出错误。与此错误相关的值为:

post_max_size 34M
upload_max_filesize 32M
max_file_uploads 20
memory_limit 128M

由于实际填充了$_FILES,因此post_max_size没有问题。 $_SERVER['CONTENT_LENGTH']正在显示 17570308 ,这对于发布文件+表单的其余部分似乎是正确的。服务器在 Ubuntu 上运行 PHP 5.3.10

1 个答案:

答案 0 :(得分:3)

好的,我弄清楚这里发生了什么,这有望避免让别人拉扯他们的头发。由于日志填满(5.5GB),根文件系统所在的磁盘包括/tmp已满。 Web根位于另一个有足够空间的磁盘上。

我只能假设写入/tmp失败会引发UPLOAD_ERR_INI_SIZE错误。一旦我清除了根文件系统上的磁盘空间,上传工作就会第一次。