上传WordPress图片时出现“文件为空”的错误

5
我正在运行一个使用定制版Debian的Amazon Web Services EC2机器的WordPress 2.9.2博客。一切都很正常,直到星期一。然后来了星期二,突然之间,我无法使用默认的WP文件上传程序(无论是flash还是html)上传图片。
当我尝试上传一张图片时,它显示以下错误:
“文件为空。请上传更实质性的东西。这个错误也可能是由于在您的php.ini中禁用了上传或将post_max_size定义为小于php.ini中的upload_max_filesize而导致的。”
所以我检查了我的php.ini,并修改了一些设置如下:
- upload_max_filesize: 64M - post_max_size: 90M - memory_limit: 128M - max_execution_time: 600 - max_input_time: 600
但它没有起作用。然后我尝试将wp-content/uploads/文件夹及其子文件夹的chmod更改为777。仍然不行。
在Google上进行了一些研究,并添加了以下内容到.htaccess中:
<IfModule mod_security.c>
SetEnvIfNoCase Content-Type
"^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads"
</IfModule>

<IfModule mod_gzip.c>
mod_gzip_on No
</IfModule>

无效。最终,在wp-settings.php文件中增加了WPs内存限制,但仍然无效。

所以现在我已经没有其他选择了。有人有解决方法吗?这真的很烦人,让我的客户感到不舒服!

提前致谢!


请确认您已经修改了正确的php.ini文件,并且您的配置更改已经生效。基本上,运行phpinfo()并查看ini文件路径以及您更改的选项的值。 - DaveRandom
谢谢您的回答!我使用phpinfo()进行了检查,php.ini文件是正确的。 - Armin Cifuentes
现在我知道这是一个WordPress问题。我上传了一个带有文件上传的手工制作表单,它可以正常工作。所以,这不是php.ini的问题。 - Armin Cifuentes
3个回答

3

我不确定这是否是问题的原因(已经过去一年了),但在许多情况下,出现相同问题的原因是由于硬盘已满

很蠢,我知道。

只需检查剩余空间有多少,如果没有,就删除日志。 Apache,PHP,MySQL。 给予足够的时间,它们会累积大量数据。


1

首先我创建了一个名为phpinfo.php的文件,并将以下内容放入其中:

<?php
   phpinfo();
?>

我使用 Wamp,在 localhost/phpinfo.php 访问了该网页并检查了相关信息。

upload_max_filesize: 
post_max_size: 
memory_limit: 

我找到了php.ini的位置并将这些变量向上更改。
upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M

然后我重新启动了apache并检查了phpinfo.php,确认新的设置已生效。但我仍然遇到了错误,于是我将站点及其所有子目录的权限从只读更改为可读写,这似乎解决了问题。


1
当时,我尝试了我问题中提到的所有方法。这个问题是由于驱动器上没有剩余空间造成的,这是最基本和愚蠢的原因。无论如何,感谢您的回答! - Armin Cifuentes

0
我曾经遇到过类似的问题。我收到了“空文件”的消息,然后重新加载了刚刚报告警告的同一文件。出现了很多“媒体xxxx已存在”的消息,在检查后,所有帖子都已导入并附带了所有附件。所以基本上我不得不两次上传每个导入文件,但第二次会更快。希望能有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接