Проблема с загрузкой файла PHP в SUSE

У меня странная проблема с загрузкой файлов с помощью Apache/PHP 5.3 на SLES 11 SP2. Когда я пытаюсь загрузить файл, PHP выбирает только исходное имя файла ($_FILES['name']), а не все остальные переменные, которые мне нужны.

Я проверил и дважды проверил свой php.ini как для загрузки максимального файла, так и для максимального размера, для загрузки файла и т. д.

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

Вот скрипт, который я использовал для проверки:

<?php
if(isset($_FILES)) {
    var_dump($_FILES);
}
?>
<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="/" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>

И вот что я получаю:

array(1) { ["userfile"]=> array(1) { ["name"]=> string(8) "test.txt" } }

person Shabbir    schedule 22.05.2012    source источник
comment
Все, что я могу разумно предложить, это перезапустить сервер и повторить попытку.   -  person user703016    schedule 22.05.2012
comment
Затем проверьте журнал ошибок Apache.   -  person user703016    schedule 22.05.2012
comment
Сейчас у меня нет доступа к серверу. Я проверю журналы, как только получу доступ. Что-то конкретное я должен искать?   -  person Shabbir    schedule 22.05.2012
comment
У меня точно такая же проблема: stackoverflow.com/questions/10908936/. Ваша машина случайно не является стандартным AMI в AWS?   -  person Dan Spiteri    schedule 08.06.2012


Ответы (3)


У меня возникла проблема с $_FILES. Он не загружал никаких файлов.

Я обновил компоненты php с 5.3.8-0.19.6 до 5.3.8-0.33.2 и работал...

Посмотреть этот пост

person Djomla    schedule 07.03.2013

Может возникнуть проблема с записью загруженного файла в каталог tmp. Что upload_tmp_dir говорит в phpinfo()?

РЕДАКТИРОВАТЬ:

Я вижу Нет значения для upload_tmp_dir. По умолчанию это может быть /tmp, но я бы явно установил его в /tmp в php.ini и проверил, правильно ли вы установили разрешения. Установка для параметра error_reporting значения «Вкл.» в сочетании с просмотром журналов Apache может помочь в устранении неполадок. Поскольку у вас нет доступа к серверу, вы можете попробовать это прямо в своем php-скрипте:

ini_set('upload_tmp_dir', '/tmp')
error_reporting(E_ALL);
ini_set('display_errors', '1');
person Banjer    schedule 22.05.2012
comment
В upload_tmp_dir указано «/tmp», и папка находится там. Вот ссылка для phpinfo 173.14.125.3/sourcefirst /php_info.php - person Shabbir; 22.05.2012
comment
Это вывод, который я получаю, когда печатаю переменную $_FILE, я также добавил код, который вы мне прислали. - person Shabbir; 22.05.2012

У нас была такая же проблема с загрузкой PHP в SLES 11 SP2. В нашем случае предел папок /tmp был максимальным.

Попробуйте команду df -h, чтобы узнать, нужна ли вам очистка.

person Leoj Etagram    schedule 01.03.2013