UPLOAD_ERR_CANT_WRITE Но другие файлы загружаются
Я сталкиваюсь с довольно странным поведением на моем сервере.
Я могу загрузить любые файлы размером менее 1 МБ без проблем, но те, которые больше, возвращают мне ошибку UPLOAD_ERR_CANT_WRITE == 7.
В папке tmp/есть разрешения, так как я могу загрузить другие файлы.
Конфигурация моего PHP.INI кажется прекрасной, я загружал файлы размером более 1 МБ, используя phpmyadmin раньше, и это сработало.
PHP.INI
- file_uploads Включено
- post_max_size 200M
- max_execution_time 30
- memory_limit 128M
- max_file_uploads 20
- upload_max_filesize 200M
- upload_tmp_dir/tmp
Там что-то мне не хватает? на моей локальной машине отлично работает та же конфигурация: S
Я использую сервер ubuntu 13.04 PHP 5.4.9 и Apache 2.2.22
Конечно, это самая глупая вещь, и я потратил 2 часа на это, я уже проверил множество документов на php.net, но не повезло. Любая помощь более чем приветствуется.
Спасибо!!!
ОБНОВЛЕНИЕ 10-01-2014: Мне все равно не удастся это исправить.
Ответы
Ответ 1
Благодаря всем вашим ответам я обнаружил ошибку.
Сервер - это установка Ubuntu, выполняемая установщиком OVH. Я не знал, что они будут создавать разделы таким образом:
- Размер файловой системы Используется Использовать% Установлено на
- переполнение 1.0M 136K 888K 14%/tmp
- /dev/md2 1.8T 13G 1.7T 1%/home
Итак, что я сделал, измените в php.ini файл upload_tmp_dir в другую папку с пробелом...
Ужасно Я потратил столько времени, я никогда не думал, что это проблема пространства, так как в HD у меня 2 ТБ!
Еще раз спасибо и надеюсь, что это может сработать кому-то еще.
Ответ 2
Удалите или переместите все файлы из /tmp и отключите устройство, чтобы он использовал обычный раздел для /tmp.
mkdir /usr/tmp
mv /tmp/* /usr/tmp
sudo umount -l /tmp
mv /usr/tmp/* /tmp
Ответ 3
Вероятно, это связано с вашей конфигурацией 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
Теперь вы можете загрузить.