Неудача при установке плагинов wordpress?
Есть хостинг. Были вирусы. вроде почистил, удалил. Создавались файлы .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. И так с любым плагином?
Несколько версий.
1. Либо в логике скрипта нет ветки "если не существует темповый каталог, то создать его". Тогда вручную создаете его (и еще вложенные, если система не шмогла).
2. Либо дело в правах доступа к таким каталогам - пользователь, под которым работает PHP, не имеет прав на запись, чтение и создание каталогов в той ветке файловой системы, где предусмотрено создание темповых каталогов. Тут нужно настраивать вам права доступа к каталогам пользователя PHP.
3. Либо вы сбросили настройки темповых каталогов, что PHP по относительным путям ходит не в то место.
- Добрый день! Спасибо за помощь. По итогу, создал и прописал временный каталог. Однако после этого остались траблы с медиа, ..никак не хотели прикрепляться. После этого проверил права папок на хостинге уровнем выше, (все было в разнобой, возможно как раз последствия вируса)... Вообщем через filezilla выставил папкам 755 (если не ошибся по памяти), и все заработало.. Спасибо за помощь.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Ошибка
fopen(/tmp/...): failed to open stream: No such file or directoryпри установке плагинов почти всегда означает не проблему WordPress, а проблему временной директории PHP: каталог не существует, недоступен пользователю PHP или в настройках PHP указан неверный путь. После заражения и ручной чистки это особенно вероятно, потому что могли поменяться права на каталоги или появиться вредоносные.htaccess.Проверьте по порядку:
Инструменты -> Здоровье сайта -> Информация -> Сервери посмотрите значение временного каталога./var/www/vhosts/example.com/tmp, если хостер разрешает.755, на файлы644, владелец должен совпадать с пользователем сайта/PHP.wp-config.phpможно явно указать временный каталог WordPress.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 и обновите все плагины/тему. Если заражение возвращается через день, где-то остался бэкдор или скомпрометирован доступ.