我在服务器中遇到了一种非常奇怪的行为。
我可以上传任何小于1MB的文件而没有问题,但那些更大的文件会给我一个错误UPLOAD_ERR_CANT_WRITE == 7.
tmp /文件夹具有权限,因为我可以上传其他文件。
我的PHP.INI上的配置似乎很好,我之前使用phpmyadmin上传了大于1MB的文件并且它有效。
PHP.INI
我缺少什么?在我的本地机器完全相同的配置:S
我使用的是ubuntu服务器13.04 PHP 5.4.9和Apache 2.2.22
肯定是有史以来最愚蠢的事情,我在这浪费了2个小时,我已经在php.net检查过大量的文档,但没有运气。任何帮助都非常受欢迎。
感谢!!!
更新10-01-2014:仍然没有运气我无法解决它。
答案 0 :(得分:20)
感谢您的所有答案,我发现了错误。
服务器是由OVH安装程序完成的Ubuntu安装。我不知道他们会以如此糟糕的方式创建分区:
所以我所做的就是在php.ini中将upload_tmp_dir修改为另一个带空格的文件夹......
可怕我浪费了这么多时间,我从没想过实际上是一个空间问题,因为在HD我有2TB!
再一次感谢并希望这对其他人有用。
答案 1 :(得分:2)
从/ tmp删除或移动所有文件并卸载设备,使其使用/ tmp的普通分区。
mkdir /usr/tmp
mv /tmp/* /usr/tmp
sudo umount -l /tmp
mv /usr/tmp/* /tmp
答案 2 :(得分:1)
这可能是由于您的memory_limit
配置造成的。尝试用256M替换。如果它工作,你应该检查你的代码,以减少内存使用。
如果是您的权限配置,您会看到:
ls -la /yourUploadDirectory
您应该看到类似的内容:
drwxr-xr-x 65 user group 4096 nov 13 09:47 .
drwxr-xr-x 3 user group 4096 ago 7 18:09 ..
group
目录(第一行)的 .
应为www-data
。如果不这样做:
chown yourUser:www-data /yourUploadDirectory
同样drwxr-xr-x
应为drwxrwxr-x
。如果不这样做:
chmod 0775 /yourUploadDirectory
现在你已经完成了上传。