Ошибка «Этот каталог не доступен для записи» в OpenCart 3

При установке модуля в OpenCart 3 может появиться ошибка «Этот каталог не доступен для записи», «Папка не разрешена для записи» или сообщение на английском языке «The directory ... is not allowed to be written to!». Несмотря на формулировку, такая ошибка не всегда связана с правами CHMOD на сервере.

В OpenCart 3 стандартный установщик дополнений имеет собственный список каталогов, в которые разрешено копировать файлы из OCMOD-архива. Если устанавливаемый модуль пытается добавить файл в другую директорию, Installer останавливает установку и выводит сообщение о запрете записи.

Обратите внимание. Если OpenCart пишет, что каталог «не разрешен для записи», установка прав 777 обычно не решает проблему. Сначала нужно проверить, не блокирует ли путь сам установщик OpenCart 3.

Почему появляется ошибка

Стандартный Installer OpenCart 3 разрешает устанавливать файлы только в определенные системные каталоги. В их число входят стандартные директории модулей, языков, шаблонов, JavaScript, библиотек и изображений.

Например, модуль может без проблем устанавливать файл в:

  • admin/controller/extension/;
  • admin/model/extension/;
  • admin/view/template/extension/;
  • catalog/controller/extension/;
  • catalog/model/extension/;
  • catalog/view/theme/;
  • system/library/;
  • image/catalog/.

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

Как исправить ошибку

Если модуль действительно должен устанавливать файлы в нестандартный каталог, один из распространенных вариантов решения - LocalCopy для OpenCart 3 или аналогичный Installer Fix. Такой модификатор изменяет ограничения стандартного установщика и позволяет корректно копировать файлы дополнения.

После установки LocalCopy необходимо перейти в раздел:

Дополнения → Модификаторы

и нажать кнопку обновления модификаторов. После этого можно повторить установку модуля, который ранее выдавал ошибку.

Когда нужно проверять CHMOD

Права файловой системы нужно проверять, если сервер выводит настоящие ошибки PHP вроде Permission denied, failed to open stream, mkdir(): Permission denied или rename(): Permission denied.

Это уже другая проблема. В таком случае PHP действительно не может создать или переместить файл, и нужно проверять владельца файлов и права каталогов на сервере.

Обратите внимание. Ошибка «каталог не разрешен для записи» и серверная ошибка «Permission denied» - не одно и то же. В первом случае ограничение может создавать сам OpenCart, во втором запись запрещает файловая система сервера.

Итог

Если OpenCart 3 сообщает, что папка или каталог не разрешен для записи именно во время установки OCMOD, сначала нужно проверить путь внутри архива и ограничения Installer. Для дополнений, которым необходимы нестандартные директории, проблему обычно решает LocalCopy или другой совместимый фикс установщика. Менять права всего сайта на 777 для этого не нужно.

Написать отзыв

Написать отзыв

Пожалуйста авторизируйтесь или создайте учетную запись перед тем как написать отзыв