В верхней части каждого файла .php на сайте Joomla вы увидите что-то похожее на это:
defined('_JEXEC') or die('Restricted Access');
Это здесь, чтобы предотвратить доступ к файлу напрямую через браузер. В основном это говорит: Если константа _JEXEC не определена, завершите процесс, _JEXEC устанавливается при запуске приложения, это происходит в главном файле index.php сайтов в верхней части:
// Set flag that this is a parent file.
define('_JEXEC', 1);
Если это будет удалено, это определенно вызовет эти проблемы, но, скорее всего, ошибка вызвана тем, что компонент или плагин опубликован в CMS.
Если вы установили плагин, который предназначался для Joomla 1.0, вы увидите ошибку, подобную этой, это происходит потому, что вместо поиска _JEXEC устанавливается, он ищет что-то вроде _VALID_MOS, в этом случае попробуйте переключить устаревший режим плагин включен.
Если устаревший режим не решает вашу проблему, проверьте шаблон веб-сайта, чтобы убедиться, что он определен ('_ JEXEC') или умер ('Ограниченный доступ'); Строка не вызывает проблем, закомментируйте ее с помощью # или // и проверьте это.
Вы можете попробовать включить отладку Joomla, но нет гарантии, что это поможет.
Если вы действительно застряли, вы можете попробовать одно из следующих действий:
1) Резервное копирование базы данных, затем отключите все плагины по одному (я заметил, что у вас все еще есть доступ к области администратора), затем либо повторно включите плагины, либо восстановите базу данных.
2) Однажды мне нужно было найти и заменить каждый плагин в CMS, я заменил строку:
'Restricted Access'
с
'Restricted Access' . __FILE__
Я сделал это с помощью PHP, и это позволило мне точно определить, какой файл выдавал ошибку. Я, очевидно, сначала скопировал файловую структуру сайта, поэтому просто разархивировал резервную копию и позже удалил измененные файлы.