PHP загружает все сбои - PullRequest
0 голосов
/ 29 марта 2012

По неизвестным причинам, так как несколько дней мой сервер Plesk больше не взаимодействует с загрузкой файлов PHP.

Тестирование было выполнено с mp3-файлом объемом 1,8 МБ и еще меньшим файлом с фильмом.

Я попытался отладить свой путь через эту проблему/ tmp /

upload_tmp_dir = / tmp memory_limit = 4096M (по другим причинам это слишком высокое значение)

/ tmp выглядит так:

drwxrwxrwx   4 root root  200 Mar 29 14:09 tmp

версия для Linux2.6.32-5-amd64 (Debian 2.6.32-35) (dannf@debian.org) (gcc версия 4.3.5 (Debian 4.3.5-4)) # 1 SMP вт. 14 июня 09:42:28 UTC 2011

Мои формы используют multipart / form-data, так что это решено, хотя я также протестировал с двумя различными сценариями загрузки ajax - оба из которых обычно работают просто отлично.

Я не получаю сообщений об ошибкахбы то ни было.Все, что я знаю, это то, что файл tmp не существует после загрузки.И это все.

Кто-нибудь знает, что здесь происходит?

Спасибо!

Ответы [ 3 ]

1 голос
/ 29 марта 2012

Как указано в ваших комментариях, у вас есть overflow, установленный поверх /tmp.Такое поведение фактически указывает на то, что / tmp заполнен, потому что если / tmp заполнен, скрипт /etc/init.d/mountoverflowtmp автоматически создаст RAM-диск размером 1 МБ.Поэтому я предлагаю umount overflow, а затем очистить /tmp

1 голос
/ 29 марта 2012

I образ где-то в вашем коде, вы получаете доступ к массиву $ _FILE, чтобы получить загруженный файл.

попробуйте это:

 print_r($_FILES);

Если проблема связана с php, вы увидите «код ошибки»"set.

Вот объяснение кодов ошибок: http://php.net/manual/en/features.file-upload.errors.php

Это может помочь вам определить проблему

0 голосов
/ 29 марта 2012

"Все, что я знаю, это то, что файл tmp не существует после загрузки. И это все."

Вы имеете в виду, что ищете его вручную после запуска сценария?Если это так, то это ожидаемое поведение.Файл временно сохраняется в $ _FILES ['postVariableName'] ['tmp_name'] и будет удален в конце скрипта, если вы сначала не сделаете что-то с файлом.

$localFilePath='/some/file/path.txt';
if(move_uploaded_file($_FILES['postVariableName']['tmp_name'], $localFilePath)){
   //Successfully moved the file
}
else{
   //Unable to move file
   echo'Could not move file';
}
...