Проблема Ошибка в libraries/joomla/user/user.php on line 869

Тема в разделе "Ошибки при работе с Joomla", создана пользователем matstar, 21.01.2016.

  1. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Всем здравствуйте!
    При авторизации в панель управления или на сайт (когда он выключен) выдаёт ошибку:
    Fatal error: Call to a member function load() on a non-object in /*******/*******/******/********/*******/libraries/joomla/user/user.php on line 869
    вот что там написано:
    // Load the JUserModel object based on the user id or throw a warning.
    if (!$table->load($id))

    Сам сайт открывается, правда пропал весь контент (кроме меню).
    Если сайт закрыт и нужна авторизация, то выдаёт ту же ошибку после ввода логина и пароля.
    В админке, если логин или пароль неправильные, то пишет что неправильные, а если правильные вводить, то вот эта ошибка.

    Помогите пожалуйста разобраться, если кто знает в чём дело.

    P.S. В поиске по форуму ничего не нашёл.
     
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    ошибка означает что переменная $table не является объектом в котором может быть функция load()
    ищи место создания объекта $table и разбирайся почему там всё что угодно кроме нужного тебе содержимого
     
  4. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    ищи вирусы и шелл. Взломали.
    Это класс для работы с таблицами, а
    метод, которому передается недействительный id юзера
     
  5. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    @draff если ID будет пустым обратно вернутся вообще все записи, смотри libraries\joomla\table\table.php строка 661
     
  6. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Еще бы знать какой версии Джумла.
    Да не похоже. Там защита от пустого ключа переданного в параметрах функции load
     
  7. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    эта функция вроде везде абсолютно одинаковая, с небольшими изменениями
    я смотрел в 3.4
    и там если ID (в load это $keys) пустое то
     
  8. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Версия Джумлы 3.4.4
    строка 661: public function load($keys = null, $reset = true)
     
  9. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    а это значит что:
    строка 866 libraries\joomla\user\user.php
    видимо там у тебя какая то фигня передаётся в $table
     
  10. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо огромное за Ваши ответы. К сожалению я не знаю как найти место создания объекта $table.
    Я даже сомневаюсь что разберусь почему там всё что угодно кроме нужного мне содержимого (хотя может и получится), но вначале подскажите мне пожалуйста (если это конечно возможно) как найти это место...

    Кстати в логах нашёл ещё такие ошибки:
    PHP Fatal error: Call to a member function load() on a non-object in *******/libraries/legacy/model/admin.php on line 901
    там это:
    // Attempt to load the row.
    $return = $table->load($pk);
    и ещё:
    PHP Fatal error: Call to a member function getProperties() on a non-object in *********/libraries/legacy/model/admin.php on line 913
    там:
    // Convert to the JObject before adding other data.
    $properties = $table->getProperties(1);
    Они что то значат в моём случае?
     
  11. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    я указал где (не читаешь что ли?):
    та же фигня и с этим
    почему то отсутствует нужная функция в объекте $table
     
  12. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Посмотрел строка 866 libraries\joomla\user\user.php.
    // Create the user table object
    $table = $this->getTable();

    На всякий случай скачал последний дистрибутив джумлы, что бы сравнить файлы на предмет каких то изменений.
    Файлы абсолютно одинаковые.
    Получается что фигни нет (((
    Вот все строки от 863 по 877:
    public function load($id)
    {
    // Create the user table object
    $table = $this->getTable();

    // Load the JUserModel object based on the user id or throw a warning.
    if (!$table->load($id))
    {
    // Reset to guest user
    $this->guest = 1;

    JLog::add(JText::sprintf('JLIB_USER_ERROR_UNABLE_TO_LOAD_USER', $id), JLog::WARNING, 'jerror');

    return false;
    }
     
  13. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    если фигни нет, то почему отсутствует функция load?
    используй трассировку кода что бы понять что у тебя в $table находится и по какой причине не вызывается или вызывается не правильно функция load

    для трассировки надо настраивать отладку на сервер (на хостинге ни как, на локалке проще париной репы) и использовать какой либо IDE редактор
     
    matstar нравится это.
  14. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    @woojin, спасибо за помощь! (Через кнопочку тоже сказал).
    К огромному сожалению у меня нет возможности настроить отладку на локальной машине, да и для меня пока трассировка, это достаточно сложный процесс. Так что своими силами (этим способом) я вопрос не решу.
    Может есть какой нибудь другой способ (для чайников) типа перезалить файлы джумлы из полного дистрибутива?
     
  15. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    я бы на твоём месте, потерял по изучал пару вечеров, как настроить отладку в подходящей IDE и исправил бы ошибку
    но если ЛЕНЬ - ДВИГАТЕЛЬ ПРОГРЕССА, то
    попробуй, если сайт абсолютно пустой, если с инфой то придётся возиться с переносом
     
    matstar нравится это.
  16. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Ещё раз огромное спасибо!
    Перезалил папку "libraries". Проблема входа решена. Админка загружается с любыми пользователями.
    Правда вторая проблема пока так и осталась. На сайте пропал весь контент и никаких ошибок не выдаёт.
    Это появилось не после перезаливки папки. Проблема возникла сразу. Т.е. пропал контент на сайте и перестала работать авторизация.
    Хотел сначала решить одну проблему, а потом вторую. Вопрос с автризацией решился.
    Может ещё подскажешь как можно узнать в чём дело, если ошибки не показывает?
     
  17. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    обратись в личку, за денежку помогу оперативно и быстро, а так мы будем копать очень долго!
     
  18. draff
    Offline

    draff Russian Joomla! Team Команда форума

    Регистрация:
    17.01.2011
    Сообщения:
    6 044
    Симпатии:
    519
    Пол:
    Мужской
    Смотри логи хостинга и базу данных, и таблица контент
     
  19. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    Всем огромное спасибо! Вопрос решён, тему можно закрывать.
     
  20. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    @matstar напиши как решил, всем будет полезно!
     
  21. Offline

    matstar Недавно здесь

    Регистрация:
    30.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Пол:
    Мужской
    На самом деле вопрос был очень простой и говорит только о моей невнимательности. На сайте работали только "контакты".
    Весь контент, кроме контактов, на сайте выводится с помощью модулей от RocketTheme.
    Вероятно в какой то момент обновились или каким то другим способом изменились файлы джумлы и все модули и плагины от Рокетов перестали работать.
    После переустановки всё снова заработало.
     

Поделиться этой страницей

Загрузка...