Медиафайлы на самом деле не удаляются с диска при нажатии «Удалить навсегда».

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

Я загрузил новый docx и pdf через медиабиблиотеку, и процедура успешно завершена. Я могу подтвердить, что прямая ссылка действительно работает.

Проблема выявляется, когда я пытаюсь УДАЛИТЬ ФАЙЛ НАВСЕГДА.

При нажатии на “Удалить навсегда” запись о файле удаляется из медиабиблиотеки, однако сам файл (и его прямая ссылка) все еще находятся на диске. В то же время WordPress возвращает сообщение, что удаление успешно завершено.

Можете предложить возможные шаги для отладки вышеупомянутой процедуры?

WordPress 4.7.3 в настоящее время находится на IIS 8, с PHP 7.0.x. Я проверил возможные пользовательские разрешения для IUSR, и в настоящий момент файлам предоставлен полный доступ.

Спасибо, Крис

Итак, после нескольких попыток… это проблема (или функция) многоязычного плагина WPML.

  1. Для начала я правильно настроил пользовательские разрешения, как упомянула @WebElaine. На случай, если что-то было настроено неправильно. Дополнительная информация в следующих статьях:
    Permissions to wp-content folder in Windows Server 2012
    https://www.chillies.co.za/news/4421/The-Correct-Permissions-for-WordPress-on-IIS/
    https://www.customfitonline.com/news/2013/6/20/solve-wordpress-on-windows-server-problems/
  2. В моем случае был установлен плагин WPML Media. По умолчанию при загрузке каждого мультимедийного файла плагин создает столько записей в базе данных, сколько установлено языков.

    Когда кто-то просматривает медиабиблиотеку и “удаляет навсегда” файл, удаляется только запись в базе данных, но не физический файл на диске. Пользователю следует просмотреть каждый язык (в бэкэнде, флаг на верхней панели) и “удалить навсегда” конкретный файл для каждого языка. Более подробная информация:
    https://wpml.org/forums/topic/deleting-from-media-library-does-not-delete-from-server/
    http://wpml.org/documentation/getting-started-guide/media-translation/

Когда последняя запись будет удалена, тогда физический файл также будет удален.

Надеюсь, это поможет! 🙂

Крис

.

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

Вопрос об удалении медиафайлов в WordPress, которые после команды "Удалить навсегда" остаются на сервере, может вызвать недоумение, особенно если вы ожидаете полного удаления файлов с диска при удалении записи из библиотеки медиафайлов. Данная проблема, возможно, имеет отношение к взаимодействию с плагином WPML Multilingual CMS на платформе WordPress, работающим в среде Windows Server с IIS.

Теоретическая основа:
Система управления контентом WordPress не всегда автоматически удаляет физические файлы с сервера при удалении их записей из медиабиблиотеки. Это связано с тем, что для каждого загруженного медиафайла создаётся запись в базе данных. Некоторые плагины, такие как WPML, создают дополнительные записи для каждого языка, что может помешать физическому удалению файла.

Примеры:
В вашем случае, установлен плагин WPML Media, который при загрузке файла создаёт несколько записей в базе данных, исходя из количества языков, поддерживаемых на сайте. При удалении файла через медиабиблиотеку удаляется только конкретная запись о файле для выбранного языка, а не сам файл на диске. Как результат, доступ по прямой ссылке к этому файлу сохраняется до тех пор, пока не будут удалены ВСЕ записи для каждого языка.

Практическое применение:

  1. Проверьте и убедитесь, что все языковые версии файлов удалены.
  2. Зайдите в административную панель WordPress и переключитесь на каждую из доступных языковых версий сайта.
  3. Удалите файл отдельно для каждого языка, чтобы гарантированно удалить все записи о файле.

Также стоит убедиться, что сервер имеет соответствующие права доступа для выполнения операций удаления физического файла, что вы подтвердили, предоставив права полного доступа пользователю IUSR.

Используйте документацию плагина WPML для более глубокого понимания функционала плагина и его взаимодействия с медиабиблиотекой:

Таким образом, подходя системно и настраивая рабочие процессы с учетом особенностей используемых плагинов, вы сможете избежать ситуаций, когда файлы не удаляются с сервера при их удалении из медиабиблиотеки.

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

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