Joomla не устанавливаются расширения
Недавно впервые столкнулся с проблемой, когда на нескольких моих подопечных сайтах Joomla не устанавливаются расширения. Благо удалось этот момент благополучно решить. Вот решил поделиться своим опытом.
Проявление проблемы
Проблема проявилась тогда, когда я хотел установить что-то стандартным способом через Менеджер расширений, указав нужный заранее скаченный файл со своего ПК. В процессе установки у меня появлялся белый экран без каких-либо оповещений, совершенно пустой. Проверяя статус установки выяснялось, что установка не удалась.
Ручная установка
Ранее я знал, что одной из причин нежелания расширений устанавливаться может быть большой вес устанавливаемого компонента, шаблона и т.п. Благо есть ручной способ установки из папки сайта (по умолчанию из папки tmp). Для этого нужно через FTP загрузить в папку tmp распакованный архив с файлами и папками нужного расширения. После чего нужно в Менеджере расширений выбрать вкладку "Установить из каталога". Удостоверившись, что путь к папке tmp указан верно, нужно нажать на кнопку "Установить". Причем нужно обратить внимание на то, что в поле "Каталог установки" указывается полный путь к папке tmp относительно вашей хостинг площадки. На примере используемого мной хостинга Beget, полный путь может выглядеть примерно так /home/s/st44083a/sait.ru/public_html/tmp . Т.е. использование короткого варианта sait.ru/public_html/tmp будет неверным и приведет к ошибке. Если вы не знаете полного пути к папке tmp, то его можно уточнить у службы поддержки вашего хостера.
Так вот в ручном режиме у меня расширения устанавливаться начали. По крайней мере простые, которые устанавливаются в один простой шаг. А вот с расширениями, которые сразу после инсталляции требовали каких-то дополнительных настроек, опять стал появляться белый экран. Хотя при проверке оказывалось, что расширение установилось, но мастеру настроек запуститься не удалось. А при дальнейшей попытке настроить расширение после "белого экрана", эти попытки не увенчались успехом.
Возможные решения
Способ 1. Погуглив, нашел вариант, который некоторым помогал. Нужно проверить в конфигурационном файле configuration.php , который обычно лежит в корне сайта, правильность прописанных полных путей, о которых говорилось выше, к папкам tmp и log. Иногда при ручном восстановлении резервной копии сайта эти пути забывают подкорректировать (например, при переезде с одного хостинга на другой - на разных хостингах будут разные полные пути к этим папкам).
У меня в этом плане все было нормально. Поэтому я обратился в службу поддержки хостинга.
Способ 2. Спасибо Владимиру Владимировичу (не знаю фамилию, а то бы написал)! Он помог разобраться, почему в моем случае в Joomla не устанавливаются расширения. Вот его ответ:
"Проблема довольно распространённая. В папке libraries/joomla отстутствовала папка archive, поэтому ничего и не устанавливалось. Залил данную папку из оригинального дистрибутива joomla".
Почему эта папка из моей установки Joomla исчезла я не знаю, а совести пытать занятого человека у меня не хватило. Но буквально в ближайшее время я уже на другом сайте столкнулся с проблемой нежелания устанавливаться расширений в Joomla. Я проверил уже на втором проблемном сайте наличие папки archive по пути libraries/joomla от корня сайта. Парадокс, но там тоже не было этой папки. Я создал папку archive через файловый менеджер хостинга и закачал в нее все файлы из аналогичной папки дистрибутива Joomla. И ура, все заработало!
Подозреваю в проблеме компонент Akeeba Backup, т.к. оба проблемных сайта были восстановлены из резервных копий этого компонента. Ранее таких глюков с копиями не возникало, копировались все файлы и папки. Но в последнее время Akeeba Backup очень часто обновляется. Не исключаю, что в какой-то версии компонента что-то заглючило. Но это только догадки.
Вот так удалось заставить Joomla устанавливать расширения используя стандартную установку через web-интерфейс. Надеюсь, кому-то мои записки будут полезными.