Я пытаюсь загрузить файл на моем сервере Apache в Fedora 25 (32-разрядная версия), используя PHP 7.0.15.
Я получаю Ошибка UPLOAD_ERR_NO_TMP_DIR, хотя я установил соответствующие (и даже больше, чем должен был, но сейчас работаю локально) разрешения для каталогов загрузки, и я изменил владельца каталога на apache.
Я пытаюсь загрузить файл .docx размером 6 КБ, мой upload_tmp_dir
в php.ini
установлен в /home/temporary
,
ls -l
возвращает следующий код:
drwxrwxrwx. 2 apache root 4096 Feb 11 20:14 temporary
sys_get_tmp_dir()
возвращает правильный путь: /home/temporary
Но я все еще получаю ошибку 6
debug outputArray
(
[userfile] => Array
(
[name] => rus.docx
[type] =>
[tmp_name] =>
[error] => 6
[size] => 0
)
)
Что может вызвать эту проблему?
Поместите временный каталог в /var/www
или же /var/www/html
,
Помимо этого действия вы также должны предоставить Apache
rewrite
разрешения с semanage.
Вам нужно проверить несколько вещей в вашем php.ini
, Убедитесь, что вы попали правильно php.ini
:
upload_tmp_dir
Это каталог, в котором PHP хранит временные файлы при загрузке.open_basedir
: Ограничивает PHP операции чтения / записи правами на указанный путь и его подкаталоги. Убедитесь, что upload_tmp_dir находится внутри этого пути!post_max_size
: Увеличьте размер в соответствии с загруженным размером.upload_max_filesize
: Допустимый предел размера файла.Если вы хотите настроить параметры каталога tmp, попробуйте изменить /etc/profile
или же /etc/environment
по вашему выбору (только для текущего сеанса или за все время) и выше проверок работает с ним.