Иногда её пытаются исправить очисткой кеша, изменением прав на wp-content/uploads или добавлением новой папки внутри WordPress. Но при этой конкретной ошибке проблема обычно возникает раньше: PHP не смог нормально использовать временный каталог, в который файл должен попасть до передачи WordPress.
Поэтому правильная диагностика начинается не с медиатеки и не с плагинов, а с конфигурации PHP и временного каталога сервера.
Если нужен быстрый и безопасный путь
Если сайт находится на обычном виртуальном хостинге и у вас нет уверенного доступа к настройкам PHP:
- Попробуйте загрузить небольшой файл ещё раз и убедитесь, что появляется именно сообщение «Временная папка не найдена».
- Не выставляйте
777на каталоги и не меняйте права наугад. - Не начинайте с удаления плагинов или темы.
- Передайте в поддержку хостинга точный текст ошибки и попросите проверить временный каталог PHP для вашего сайта.
Можно написать:
При загрузке файла WordPress получает PHP upload error code 6 —UPLOAD_ERR_NO_TMP_DIR(Missing a temporary folder). Проверьте, пожалуйста, эффективное значениеupload_tmp_dirдля PHP сайта, доступность системного временного каталога и ограниченияopen_basedir.
Для этой ошибки такого сообщения поддержке часто достаточно, чтобы сразу проверили нужную часть конфигурации.
↑ К оглавлению1. Что означает ошибка «Временная папка не найдена»
При стандартной загрузке файла PHP передаёт WordPress не только имя и размер файла, но и код результата загрузки.
Для отсутствующего временного каталога PHP использует ошибку:
UPLOAD_ERR_NO_TMP_DIRЕё числовой код:
6WordPress распознаёт этот код и выводит сообщение:
«Missing a temporary folder» / «Временная папка не найдена».
Это важное отличие от других ошибок загрузки.
Например:
- слишком большой файл — другая ошибка;
- файл загрузился частично — другая ошибка;
- PHP не смог записать файл на диск — другая ошибка;
- загрузку остановило PHP-расширение — тоже другая ошибка.
Поэтому увеличение upload_max_filesize само по себе ошибку №6 не исправляет.
2. На каком этапе ломается загрузка
Упрощённо обычная загрузка файла выглядит так:
браузер → веб-сервер → PHP → временный файл → WordPress → постоянный каталогНапример, когда вы загружаете изображение в медиатеку, PHP сначала должен принять его и временно сохранить на сервере.
Только после этого WordPress получает временное имя файла, проверяет загрузку и продолжает обработку.
Если PHP не может выполнить временный этап, WordPress уже получает ошибку №6.
Поэтому при сообщении «Временная папка не найдена» в первую очередь нужно проверять:
- настройки временного каталога PHP;
- существует ли этот каталог;
- может ли PHP его использовать;
- доступен ли системный временный каталог;
- не мешают ли ограничения
open_basedir.
А вот каталог:
wp-content/uploadsна этом этапе ещё не является главным подозреваемым.
↑ К оглавлению3. Проверка upload_tmp_dir
За временный каталог HTTP-загрузок в PHP отвечает директива:
upload_tmp_dirОна может выглядеть, например, так:
upload_tmp_dir = /var/tmp/php-uploadКонкретный путь зависит от сервера и хостинга. Копировать пример выше в свою конфигурацию без проверки не нужно.
Нас интересует фактическое значение upload_tmp_dir именно для того PHP, которым обслуживается сайт.
Посмотреть его можно:
- в разделе информации о PHP в панели хостинга;
- в настройках PHP домена;
- через конфигурацию PHP-FPM на собственном сервере;
- через диагностические средства хостинга.
Если используется VPS, важно помнить: настройки PHP в командной строке и настройки PHP-FPM, который обслуживает сайт, могут отличаться.
Поэтому команда вида:
php -iполезна для диагностики, но сама по себе ещё не доказывает, что сайт использует абсолютно те же параметры.
Нужно проверять конфигурацию того PHP handler / PHP-FPM pool, через который реально работает домен.
↑ К оглавлению4. Что означает пустой upload_tmp_dir
Пустое значение upload_tmp_dir само по себе не является ошибкой.
Если отдельный каталог не задан, PHP использует системный временный каталог.
Поэтому неправильный вывод:
upload_tmp_dir пустой → обязательно нужно вписать собственную папку.Нет.
Сначала нужно выяснить, работает ли системный временный каталог.
На Linux это часто /tmp, но конкретную конфигурацию сервера лучше не предполагать.
Проблема появляется, если временного каталога действительно нет, он недоступен для PHP либо его использование ограничено конфигурацией сервера.
↑ К оглавлению5. Проверка существования и доступа к каталогу
Если upload_tmp_dir явно указывает путь, нужно проверить две вещи:
1. Каталог действительно существует.
Если в конфигурации указан старый или удалённый путь, PHP не сможет нормально использовать его для загрузки.
2. PHP имеет право работать с этим каталогом.
Временный каталог должен быть доступен пользователю, от имени которого работает PHP.
На собственном Linux-сервере наличие и права каталога можно посмотреть, например:
ls -ld /путь/к/временному/каталогуНо не нужно сразу выполнять:
chmod -R 777 ...Это плохой способ диагностики.
Для общей системной /tmp и для отдельного временного каталога конкретного сайта могут использоваться разные владельцы и режимы доступа.
Правильная задача — не сделать каталог доступным всем, а обеспечить необходимую запись именно для PHP в рамках конфигурации сервера.
Если сервером управляет хостинг, безопаснее передать эту проверку его поддержке.
↑ К оглавлению6. Проверка open_basedir
Ещё одна причина, которую легко пропустить, — ограничение:
open_basedirОно ограничивает набор каталогов файловой системы, к которым PHP разрешено обращаться.
Это особенно важно в ситуации, когда:
- собственный
upload_tmp_dirне используется или недоступен; - PHP пытается использовать системный временный каталог;
- системный каталог находится за пределами разрешённых
open_basedirпутей.
Тогда временный каталог физически может существовать, но PHP всё равно не сможет нормально его использовать.
На виртуальном хостинге open_basedir обычно настраивается самим хостером. Самостоятельно отключать ограничение только ради устранения ошибки не стоит.
Нужно исправить разрешённые пути или конфигурацию временного каталога так, чтобы PHP мог работать с ним в рамках действующей политики сервера.
↑ К оглавлению7. Поможет ли WP_TEMP_DIR в wp-config.php
В интернете часто встречается совет создать, например:
wp-content/tempа затем добавить в wp-config.php:
define( 'WP_TEMP_DIR', ... );У WordPress действительно существует константа WP_TEMP_DIR. Она может переопределять каталог, который WordPress использует для своих временных файлов.
Но это не то же самое, что PHP-директива:
upload_tmp_dirДля стандартной HTTP-загрузки PHP должен сначала принять файл в свой временный каталог. Если на этом этапе PHP уже возвращает:
UPLOAD_ERR_NO_TMP_DIRWordPress получает ошибку раньше обычной обработки загруженного файла.
Поэтому для конкретного сообщения «Временная папка не найдена» при загрузке файла добавление WP_TEMP_DIR не должно быть первым действием.
Сначала проверяйте временный каталог PHP.
WP_TEMP_DIR имеет смысл рассматривать отдельно, когда проблема относится к временным файлам, создаваемым самим WordPress, а не когда PHP уже сообщил upload error №6.
8. Что делать на виртуальном хостинге
Если у вас нет доступа к конфигурации PHP-FPM, исправлять эту ошибку методом проб и ошибок не нужно.
Соберите минимум информации:
- адрес сайта;
- точный текст ошибки;
- где она появляется — медиатека, установка темы или загрузка плагина;
- повторяется ли ошибка для разных файлов.
После этого отправьте поддержке:
При загрузке файла WordPress показывает «Временная папка не найдена».
PHP upload error: UPLOAD_ERR_NO_TMP_DIR, code 6.
Проверьте, пожалуйста:
— эффективный upload_tmp_dir для PHP этого домена;
— существует ли и доступен ли временный каталог;
— доступен ли системный temp directory;
— не блокирует ли его open_basedir.Такой запрос намного полезнее сообщения «в WordPress не загружаются картинки», потому что сразу указывает на конкретный уровень проблемы.
↑ К оглавлению9. Что не стоит делать
Не начинайте с chmod 777
Широкие права не объясняют причину и могут ухудшить безопасность сервера.
Не меняйте права wp-content/uploads наугад
При UPLOAD_ERR_NO_TMP_DIR сбой происходит раньше обычного перемещения файла в медиатеку.
Не увеличивайте upload_max_filesize без причины
Превышение допустимого размера файла имеет другой код ошибки.
Если WordPress сообщает именно об отсутствующей временной папке, сначала разбирайтесь с temp directory.
Не удаляйте все плагины первым действием
Точный PHP upload error №6 гораздо сильнее указывает на серверную конфигурацию загрузки, чем на обычный конфликт WordPress-плагинов.
Не копируйте случайный путь из чужой инструкции
/tmp, /var/tmp, wp-content/temp или любой другой каталог не становятся правильными только потому, что сработали на чужом сервере.
Нужно определить конфигурацию именно вашего сайта.
↑ К оглавлению10. Как проверить исправление
После изменения серверной конфигурации важно не ограничиваться исчезновением сообщения.
Проверьте цепочку полностью.
1. Повторите исходную операцию
Если ошибка возникала при загрузке изображения — загрузите небольшой тестовый файл через:
Медиафайлы → Добавить новый.
Если проблема была при установке ZIP-плагина или темы — повторите именно эту операцию.
2. Убедитесь, что сообщение исчезло
Не должно появляться:
«Временная папка не найдена».
3. Проверьте конечный результат
Для изображения:
- файл появился в медиатеке;
- превью открывается;
- файл доступен на сайте.
Для темы или плагина:
- архив загрузился;
- WordPress смог распаковать его;
- установка завершилась без новой ошибки.
4. Повторите тест ещё раз
Один успешный запрос полезен, но повторная загрузка позволяет убедиться, что временный каталог работает стабильно.
↑ К оглавлению11. Если ошибка осталась
Если upload_tmp_dir, права и open_basedir уже проверены, а PHP продолжает возвращать ошибку №6, нужно смотреть конфигурацию глубже.
На собственном сервере проверяют:
- какой PHP handler обслуживает сайт;
- какой PHP-FPM pool используется;
- какой
php.iniдействительно загружен этим процессом; - дополнительные конфигурационные файлы PHP;
- параметры контейнера, если PHP работает в Docker;
- системный временный каталог;
- журналы PHP-FPM и веб-сервера.
Особенно полезно сравнить ситуацию с другим сайтом на том же сервере.
Если ошибка возникает у всех сайтов — проблема, скорее всего, находится выше уровня одного WordPress.
Если только у одного домена — нужно сравнивать конфигурацию его PHP pool, пользователя и ограничения файловой системы.
Главное — продолжать диагностику от факта:
PHP возвращает upload error №6.
А не перебирать случайные настройки WordPress.
12. Частые вопросы
Что означает «Временная папка не найдена» в WordPress?
При стандартной загрузке WordPress показывает это сообщение, когда PHP возвращает ошибку UPLOAD_ERR_NO_TMP_DIR с кодом 6. PHP не смог нормально использовать временный каталог, необходимый для приёма загружаемого файла.
Нужно ли создавать папку temp в wp-content?
Не обязательно. Для HTTP-загрузок PHP использует upload_tmp_dir или системный временный каталог. Создание wp-content/temp само по себе не исправляет конфигурацию PHP.
Поможет ли WP_TEMP_DIR?
WP_TEMP_DIR используется механизмом временных файлов самого WordPress, но не заменяет серверную настройку PHP upload_tmp_dir. При точной ошибке UPLOAD_ERR_NO_TMP_DIR сначала нужно проверять PHP.
Нужно ли менять права на wp-content/uploads?
Для этой конкретной ошибки это не первая проверка. PHP должен сначала принять файл во временный каталог, и только затем WordPress сможет продолжить работу с ним.
Что написать поддержке хостинга?
Укажите, что WordPress получает PHP upload error №6 — UPLOAD_ERR_NO_TMP_DIR, и попросите проверить upload_tmp_dir, системный временный каталог, права PHP на этот каталог и ограничения open_basedir.
Ошибка «Временная папка не найдена» хороша тем, что она довольно точно показывает направление диагностики.
Не нужно начинать с переустановки WordPress, отключения всех плагинов или изменения десятков настроек.
Правильная цепочка:
точный текст ошибки → PHP upload error №6 → upload_tmp_dir → системный temp → доступ PHP → open_basedir → повторная загрузкаЕсли после проверки серверной конфигурации причина остаётся неясной, можно передать диагностику специалисту.
На WebFixer24 можно оформить помощь напрямую, без регистрации, либо выбрать работу через KWORK — оба варианта доступны.
Нужна помощь с WordPress?
Если после последовательной проверки причина остаётся неясной, можно обратиться за диагностикой WordPress. Также доступны все инструкции WebFixer24.