Неудача при установке плагинов wordpress?

Ссылка скопирована
1 ответ

Есть хостинг. Были вирусы. вроде почистил, удалил. Создавались файлы .htaccess , которые блокировали доступ везде. По части вордпреса, залил новый дистрибутив (перенеся вп-контент и файл конфига), по части хостинга вручную поудалял блокирующие файлы. Все вроде заработало, через день повторилась ситуация, но уже по другому.

Теперь не могу установить никакой плагин, будь то обновление вордпреса или еще что... пишет следющую ошибку...

Установка не удалась: Загрузка не удалась. fopen(/tmp/..........): failed to open stream: No such file or directory

Установка не удалась: Загрузка не удалась. fopen(/tmp/..........): failed to open stream: No such file or directory

Если брать расшифровку из лога, то следующее:

PHP Warning:  unlink(/tmp/................tmp): No such file or directory in /var/www/vhosts/v-9877.webspace/www/vash-kotel.kz/wp-admin/includes/file.php on line 1159

PHP Warning: unlink(/tmp/................tmp): No such file or directory in /var/www/vhosts/v-9877.webspace/www/vash-kotel.kz/wp-admin/includes/file.php on line 1159

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

Ответ хостинга - Такой директории не существует, попробуйте создать её и повторите загрузку.

Странно,, но до этого нигде и ничего не создавал специально, и все работало... Как побороть эту проблему, и подскажите пожалуйста, как бы грамотно пространство хостинга вычистить, чтоб больше зараза никакая не "поселялась"...

Дополнительно:

1. Как устанавливаешь?
2. И так с любым плагином?

  • Refguser, абсолютно любой плагин. Как обычно -- добавить новый, поиск установка.....неудача... если пытаюсь накатить обновление вордпреса - аналогично все происходит....
  • rvitalia, тогда это п2 в ответе alexalexes
  • Несколько версий.
    1. Либо в логике скрипта нет ветки "если не существует темповый каталог, то создать его". Тогда вручную создаете его (и еще вложенные, если система не шмогла).
    2. Либо дело в правах доступа к таким каталогам - пользователь, под которым работает PHP, не имеет прав на запись, чтение и создание каталогов в той ветке файловой системы, где предусмотрено создание темповых каталогов. Тут нужно настраивать вам права доступа к каталогам пользователя PHP.
    3. Либо вы сбросили настройки темповых каталогов, что PHP по относительным путям ходит не в то место.

    • Добрый день! Спасибо за помощь. По итогу, создал и прописал временный каталог. Однако после этого остались траблы с медиа, ..никак не хотели прикрепляться. После этого проверил права папок на хостинге уровнем выше, (все было в разнобой, возможно как раз последствия вируса)... Вообщем через filezilla выставил папкам 755 (если не ошибся по памяти), и все заработало.. Спасибо за помощь.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Ошибка fopen(/tmp/...): failed to open stream: No such file or directory при установке плагинов почти всегда означает не проблему WordPress, а проблему временной директории PHP: каталог не существует, недоступен пользователю PHP или в настройках PHP указан неверный путь. После заражения и ручной чистки это особенно вероятно, потому что могли поменяться права на каталоги или появиться вредоносные .htaccess.

    Проверьте по порядку:

    1. В админке WordPress откройте Инструменты -> Здоровье сайта -> Информация -> Сервер и посмотрите значение временного каталога.
    2. На хостинге создайте отдельный каталог, например /var/www/vhosts/example.com/tmp, если хостер разрешает.
    3. Права на каталоги обычно ставят 755, на файлы 644, владелец должен совпадать с пользователем сайта/PHP.
    4. В wp-config.php можно явно указать временный каталог WordPress.
    define('WP_TEMP_DIR', __DIR__ . '/wp-content/tmp');

    define('WP_TEMP_DIR', __DIR__ . '/wp-content/tmp');

    После этого создайте папку wp-content/tmp и убедитесь, что PHP может туда писать. Если используется open_basedir, путь должен быть разрешен в настройках хостинга.

    По безопасности: одной заменой ядра WordPress сайт не лечится. Нужно проверить wp-content/uploads, wp-content/plugins, wp-content/themes, все вложенные .htaccess, неизвестные PHP-файлы в uploads, пользователей-администраторов, cron-задачи, свежие измененные файлы и доступы FTP/хостинга. После чистки смените пароли панели, FTP/SFTP, базы, админов WordPress и обновите все плагины/тему. Если заражение возвращается через день, где-то остался бэкдор или скомпрометирован доступ.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно