Pull to refresh

Решение проблемы с установкой расширений на Joomla 1.5.x и переносом сайта на сервер

Немало Веб-мастеров встречаются с проблемой установки расширений (модулей, компонентов, шаблонов, плагинов ...). Возможно Вам попадались такие ошибки:
  • JFolder:: create: Path not in open_basedir paths
    Unable to create destination
  • JFolder:: create: Path not in open_basedir paths
    Шаблон Установить: Невозможно создать папку "/home/Ваш_сайт/public_html/components/com_jumi"
  • JFolder:: create: Невозможно создать папку
    Компонент Установить: Невозможно создать папку /home/Ваш_сайт/public_html/components/com_jumi"
  • И другие ошибки связанные с установлением расширений.

В этой статье мы рассмотрим несколько способов, которые могут помочь Вам в решении этой проблемы!

Первый способ
Большинство проблем связаны с Joomla 1.5 основаны на том, что неправильно выставлены права на папки на сервере.
Проверьте еще раз, что все папки имеют права доступа 777.
Если же Вы работаете на локальном хосте, менять права не обязательно!
image


Второй способ
Следующая проблема возникает при перемещении сайта с локального хоста на сервер. При перемещении необходимо изменить параметры на путь к временным папкам /tmp и /log. В корне, где размещен сайт, есть файл configuration.php. Откройте его с помощью какого-либо текстового редактора и измените следующие строки примерно так:

Было:
var $log_path = 'Z:\\home\\joomla.test\\www\\logs';
var $tmp_path = 'Z:\\home\\joomla.test\\www\\tmp';

Исправляем на:
var $log_path = '/home/joomla.test/public_html/logs/';
var $tmp_path = '/home/joomla.test/public_html/tmp/';

* joomla.test — вместо этого должен быть Ваш домен или название главной папки созданной хостером для Вашего сайта. Заметьте, пути к папкам могут быть другие! Это зависит от хостера.
** Узнать путь к корневой папке вы можете с помощью кода <?php echo phpinfo() ?>. Вставьте на время этот код в шаблон и посмотрите директорию ROOT, она и будет корневой.

Третий способ
Если предыдущие способы не помогли, то делайте следующее:
  • Откройте файл libraries/joomla/filesystem/folder.php;
  • Найдите там вот такую строку if ($ inOBD == false) (номер строки примерно 200);
  • Перед этой строкой добавьте $ inOBD = true;
  • Или еще: Находим строку $ obd = ini_get ('open_basedir') и отключаем ее (ставим перед ней "//"). Вот так -> // $ obd = ini_get('open_basedir');


Четвертый способ
Если уж и это не помогло то попробуйте установить расширение вручную.

Начнем, распаковываем архив компонента в папку \tmp\com_name, где name — название компонента.
Создаем папки:
\New\com_name
\New\administrator\com_name
\New\includes\js\ThemeOffice

Открываем файл name.xml. Этот файл содержит инструкции для инсталлятора Joomla и он состоит из нескольких секций:
  • Список файлов, которые нужно скопировать в папку \new\com_name. Если в секции файл указанный с относительным путем, значит надо создать все перечисленные папки и уже в них разместить файл;
  • Список файлов рисунков размещаемых в папке \new\com_name\images отдельно выносятся в эту секцию;
  • Файлы размещаемые в каталоге \new\administrator\com_name;
  • Файлы размещаемые в каталоге \new\administrator\com_name\images;
  • Сам файл name.xml копируем в папку \new\administrator\com_name.

Далее необходимо подготовить запросы к базе SQL для создания необходимых таблиц и их первоначального заполнения. Смотрим файл name.xml. Находим SQL запросы, начинающиеся словами «DROP TABLE» (уничтожение существующих указанных таблиц), «CREATE TABLE» (создание таблиц с указанными именами), «INSERT INTO» (вставка записи в существующие таблицы SQL).

Все имена таблиц в SQL запросах содержащихся в файле name.xml имеют вид '# __name'. Необходимо изменить часть "# _" в настоящий префикс ваших таблиц (по умолчанию система при инсталляции предлагает префикс jos_.

Следует обратить внимание на запросы вида «INSERT INTO` # __components `VALUES» Этими запросами компонент прописывает себя в меню админпанели. Ниже, на примере компонента Akobook, видим, что есть две следующие строки (в действительности их несколько больше).

INSERT INTO `#__components` VALUES (”, ‘Akobook SE’, ‘option=com_akobook‘, ‘0Ќ, ‘0Ќ, ‘option=com_akobook’, ‘Akobook SE’, ‘com_akobook’, ‘0Ќ, ‘js/themeoffice/component.png’, ‘0Ќ ”);

INSERT INTO `#__components` VALUES (”, ‘Проглядання записів’ ”, ‘0Ќ, ‘XX‘, ‘option=com_akobook&task=view‘, ‘Проглядання записів’, ‘com_akobook’, ‘0Ќ, ‘js/themeoffice/edit.png’, ‘0Ќ ”);

Обращаю внимание на выделенный текст. В первой строке в таблицу прописывается меню, а во второй — подменю. Об этом говорит наличие значения после знака "&" в опциях.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.