WordPress не может найти временную папку, но папка, которую он ищет, имеет правильные разрешения.

Вопрос или проблема

Итак, я провел пару часов, пытаясь разобраться в этой проблеме в интернете, так как она кажется мне простой и, вероятно, уже обсуждалась, но, видимо, нет.

Я размещаю сайт WordPress в поддиректории на своем основном сайте (http://christopherdumas.org — это основной сайт, http://christopherdumas.org/astraterra — это сайт на WP), и когда я пытаюсь загрузить файлы в сообщение на сайте WordPress, мне выдается следующая ошибка:

Отсутствует временная папка.

Ранее это работало до обновления до WP 5.0, и я не тестировал после обновления, предполагая, что все будет продолжать работать. Но нет. Я думал, что сделал все необходимое для того, чтобы конфигурация сервера PHP и WordPress сохранялась при перезагрузке, но недавно я перезагрузил сервер и пришлось повторно настраивать некоторые вещи в WP, так что, видимо, нет — что может быть связано с этой проблемой. Интересно, что я прошел стандартный путь для устранения этой проблемы, когда это случилось в первый раз, и, думаю, это помогло, но я точно не помню, и теперь у меня снова эта проблема даже с “исправленными” конфигурациями.

Еще хуже, добавление обычных строк в файл wp-config.php (установка WP_TEMP_DIR и т.д.) не помогает, как и редактирование php.ini (в корневом каталоге сервера). Кроме того, директория temp имеет разрешения www-data (как и вся директория wp-content), и я добавил немного к началу index.php, чтобы убедиться, что используется пользователь www-data, что так и есть. В этот момент я не могу придумать, что еще можно сделать. Я запускаю этот сервер на Lighttpd вместо Apache 2, что изначально сделал из-за простоты использования Lighttpd, но теперь начинаю об этом жалеть…

Подключитесь к своему серверу через SSH.

и удалите системные временные файлы:

rm -rf /tmp/*

Удалите файлы, которым больше 12 дней, из директорий /tmp и /var/tmp/:

find /tmp -type f -mtime +12 -exec rm {} \;
find /var/tmp -type f -mtime +12 -exec rm {} \;

Удалите временные файлы, созданные Plesk и его сервисами. Файлы в приведенных ниже директориях можно безопасно удалить.

Примечание: Мы рекомендуем запускать эти команды, когда система простаивает (Нет активных задач Plesk резервного копирования и установщика Plesk).

Чтобы проверить, работает ли установщик Plesk, выполните следующую команду:

ps aux | grep install | grep -v "grep"

Отсутствие вывода означает, что установщик Plesk неактивен.

Чтобы проверить, выполняется ли какая-либо задача резервного копирования Plesk, выполните следующую команду:

plesk sbin pmmcli --get-tasks-list Backup | grep working

Отсутствие вывода означает, что нет активных задач резервного копирования.

Временные файлы резервного копирования Plesk:

rm -rf /usr/local/psa/PMM/tmp/*

Другие временные файлы:

rm -rf /usr/local/psa/tmp/*

Если это не поможет, перезагрузите ваш Apache.

Ответ или решение

Если вы столкнулись с ошибкой WordPress "Отсутствует временная папка" на вашем сервере, несмотря на правильные разрешения папок, необходимо провести тщательный анализ и предпринять следующие шаги для устранения проблемы.

Контекст и первое рассмотрение

Когда WordPress сообщает об отсутствии временной папки, он указывает на проблемы в конфигурации серверной среды или неверно указанный путь к временной директории. Поскольку вы обновили WordPress до версии 5.0, но не протестировали его работу до перезагрузки сервера, это дало возможность возникнуть подобным проблемам.

Шаги по устранению:

  1. Проверка изменений после обновления:
    Обновления могут изменить настройки или зависимости, которые ранее работали стабильно. Вернитесь к документации по обновлениям WordPress, чтобы убедиться, что все требования и зависимости выполнены.

  2. Проверка wp-config.php:
    Внесите изменения в файл конфигурации WordPress wp-config.php, чтобы задать временную директорию. Убедитесь, что добавили в него правильный путь до временной директории:

    define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp/');

    Проверьте, чтобы эта директория существовала и имела правильные права доступа.

  3. Настройка php.ini:
    Проверьте настройки временной директории в файле php.ini. Найдите строку для директивы upload_tmp_dir и убедитесь, что путь правильный и совпадает с тем, что ожидает ваш сервер.

    upload_tmp_dir = /path/to/your/tmp

    Перезагрузите веб-сервер после внесения изменений в php.ini.

  4. Права доступа:
    Проверьте, чтобы пользователь веб-сервера (например, www-data) имел полные права на временную директорию. Используйте команду:

    sudo chown -R www-data:www-data /path/to/your/tmp
    sudo chmod 755 /path/to/your/tmp
  5. Очистка временных файлов:
    Удалите старые или зависшие временные файлы. Подключитесь к серверу по SSH и выполните команды:

    rm -rf /tmp/*
    find /tmp -type f -mtime +12 -exec rm {} \;
    find /var/tmp -type f -mtime +12 -exec rm {} \;
  6. Устранение конфликтов с Plesk:
    Если используется Plesk, выполните очистку временных файлов, принадлежащих Plesk. Убедитесь, что ни одна активная задача Plesk не запущена для избежания сбоев.

  7. Перезагрузка Lighttpd:
    В отличие от Apache 2, вы используете Lighttpd. Перезагрузите Lighttpd после проведения всех вышеперечисленных шагов для применения изменений:

    sudo service lighttpd restart

Заключение

Эти шаги помогут вам решить проблему с временной папкой на вашем WordPress-сайте. Если ни один из методов не помог, рассмотрите возможность детальной диагностики серверного окружения, включая проверку журнала ошибок Lighttpd и анализа других конфигурационных файлов. Удачи в решении проблемы!

Оцените материал
Добавить комментарий

Капча загружается...