Подскажите в чем ошибка и как поправить?

Fatal error: Call to a member function setErrorHandler() on a non-object in /bhome/part3/03/bicogozsu/vgaraje.ru/www/classes/modules/sys_database/Database.class.php on line 70

Заранее спасибо

44 комментария

avatar
возможно проблема с коннектом к БД
  • ort
  • 0
avatar
тут все верно настроил config/config.db.php это точно
avatar
посмотреть /logs/error.sql
копать нужно в сторону коннекта к БД в либе dbSimple
avatar
вроде с БД все ок теперь выдает 502 Bad Gateway
avatar
.htaccess не в порядке
avatar
как поправить?
avatar
без понятия. я ничего не знаю о характеристиках вашего хостинга.
avatar
zenon.net
avatar
побежал разбираться и читать, ага :-\ делать мне больше нечего.
avatar
:)
avatar
Тоже самое сегодня получил. Отказался от apache в пользу Nginx + PHP + Spawn-fcgi
Mysql вообще не трогал. php тот же. После того как все настроил поставил ls и получил
Fatal error: Call to a member function setErrorHandler() on a non-object in /bhome/part3/03/bicogozsu/vgaraje.ru/www/classes/modules/sys_database/Database.class.php on line70

В гугле кстати кроме как на ls и сайты на нем по запросу
Call to a member function setErrorHandler()
не находит ничего.
В логах пусто. phpinfo
Есть идеи?
avatar
правильная ссылка на phpinfo http://88.198.48.136/phpi.php
avatar
До перехода на Nginx + PHP + Spawn-fcgi естественно такой проблемы не было.
avatar
) печально, а так хотелось заюзать это дело.
Ещё раз все переустановил включая операционку.
Проблема только в такой конфигурации возникает.
avatar
У меня таже ошибка (( это какая-то ерунда, в настройка коннекта указаны данные логина и пароля к БД а в логах пишеться вообще дрпугое что типа логин РУТ а пароля нет… т.е файл найстроек вообще не передает данные
avatar
с коннектом к ДБ все ок, это я старый лог просмотрел… но ошибка не уходит(
avatar
если решите, отпишите пожалуйчта
как поправили
avatar
параметры хостинга, пхп, базы…
если вы хотите что бы вам помогли дайте блин исходные данные
avatar
извините я совершенно в этом не разбираюсь
скажите пожалуйста что конкретно нужно посмотреть?
avatar
вы ставите на локальную машину или на хост?
если вы покупали хостинг, у него есть тариф. найдите подробные данные по тарифу
avatar
avatar
Я тут собачке решил аппендикс удалить, вскрыл брюхо и ничего не пойму. Сам я не врач и учился на бухгалтера. Подскажите, что мне дальше делать?
avatar
Ценю Вашу иронию, спасибо за помощь
avatar
вообще то он прав. может всё таки теорию почитать немного?
с хостингом у вас всё ок. проблема в чём-то еще.
avatar
параметры? php5, линуксовый хостинг, БД MySQL5
какие именно параметры нужны еще?
avatar
вот именно эти. вроде всё ок. проблема в чём то еще. надо думать… может быть тип базы не тот?
avatar
а каким он должен быть? я импортировал файл с таблицами, все в InnoDB
avatar
тоже вроде правильно /*чешет в затылке*/ конфиги точно в порядке.
лс из svn или релиз 0.3.1?
avatar
с конфигами все ок… релиз 0.3.1
avatar
одно из двух. или действительно какая-то странная особенность хостинга или неведомая опечатка\ошибка в одном из внесённых изменений…
avatar
да дело в хостере… поставил на локалке, все ок… на хосте все падает (
avatar
что-то мне подсказывает что тут дело не в коннекте к БД а версиях php
avatar
phpinfo();
?
avatar
в смысле? вы хотите увидеть что выдает пхп инфо? щас кину в личку урл
avatar
когда не та версия пхп другая ошибка выползает…
avatar
Если смотреть с точки зрения пхп, то он не может найти объект в классе) А класс можно вызывать по-разному.
avatar
Не знаю чем это может помочь, но вот ссылка на мой хост план hostpro.ua/ru/hosting_birthday.html
avatar
БД* )
avatar
Такая же ошибка, сразу после установки, голая система :(
avatar
Наконец-то понял в чем проблема, если в пароле есть спец символы типа слэшей, то система не работает :) хотя странно, инсталяха изначально ведь сработала ))
avatar
Дело в том, что создатели библиотеки DbSimple зачем-то передают настройки подключения к базе как URL.

Я не знаю, какому идиоту пришло в голову, что в пароле НЕ может быть слэша, тем не менее реализовано это вот так:

github.com/livestreet/livestreet-framework/blob/f0d3f5ddf0266e408d86db15d2e7514cee9d4e99/libs/vendor/DbSimple/Generic.php#L133

public static function parseDSN($dsn)
    {
        if (is_array($dsn)) return $dsn;
        $parsed = parse_url($dsn);
        if (!$parsed) return null;


Ну и так далее.

Разумеется, если в пароле есть символ, который не встречается в стандартных URL-ах по RFC — он распарсится строго как попало, из функции вернется нулл, Connect на null будет null со всеми вытекающими.
avatar
Добавлю: это реализовано через одно место как в 1.0.3, так и в 2.0

P.S. И такими темпами перееедет в 3.0
avatar
Уже стоит в багах. Возможно сменим либу во фреймворке
avatar
Это я и поставил ;-) И вы же признали его ;-)

Здесь комментарий — как решение, в поисках которого приходят из ПС, а на гитхабе — как уведомление разработчикам ;-)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.