在WordPress中上传图像时出错“文件为空”

时间:2012-02-02 16:03:01

标签: php apache wordpress file-upload amazon-ec2

我正在亚马逊网络服务EC2 计算机上运行 WordPress 2.9.2 博客并自定义安装Debian。

直到星期一,一切都运转良好。然后星期二来了,并且一夜之间,我无法使用默认的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_excecution_time :600
  • max_input_time :600

但它没有用。然后我尝试 chmod - 将 wp-content / uploads / 文件夹及其子文件夹改为 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 文件中增加了WP内存限制。没用。

所以我现在都没有选择了。任何人对如何解决这个问题都有任何想法?这真的让我和我的客户烦恼!

提前致谢!

3 个答案:

答案 0 :(得分:3)

不确定是否是这种情况(已经超过一年),但在很多情况下,对于同样的问题,问题是由于硬盘驱动器已满

愚蠢,我知道。

只需检查剩余多少空间,如果没有,则删除日志。 Apache,PHP,MySQL。当有足够的时间时,他们会添加大量数据。

答案 1 :(得分:1)

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

<?php
   phpinfo();
?>

我在localhost / phpinfo.php访问了页面(我正在使用wamp)并检查了

upload_max_filesize: 
post_max_size: 
memory_limit: 

我找到了php.ini的位置并将这些变量向上更改为

upload_max_filesize = 100M
post_max_size = 100M
memory_limit = 128M

然后我重新启动了apache并检查了phpinfo.php是否反映了新的设置。我仍然收到错误,因此我将站点的目录和所有子目录从只读更改为读写。这似乎可以解决问题。

答案 2 :(得分:0)

我有类似的问题。我收到“空文件”消息并继续重新加载刚报告警告的同一文件。出现了许多消息“媒体xxxx已存在”,检查后,所有帖子都已导入所有附件。所以基本上我必须上传每个导入文件两次,但第二次更快。希望它有所帮助。