| Профиль | Блог (4) | Комментарии (30) | Закладки | Продукты |
Ставлю cogear на хостинг и на 3-м шаге — соединение с базой данных возникает проблема
Что может быть причиной: 1. Имя сервера баз данных — записываю как [имя сервера][:][порт] — такие настройки идут от хостинга.
Может быть неверный синтаксис или cogear чего-то не понимает.
2. База данных уже создана хостером ранее и имя базы данных задано изначально.
Вдруг чего-то требует еще cogear от базы данных.
Ошибок в логах нет.
На этом хостинге с такими же параметрами успешно установливались WordPress, Livestreet, Dolphin.
Интересно узнать варианты решения проблемы. Думаю на 1-й вариант пока, но без логов непонятно куда смотреть, тем более, что проблем у других движков нет.
Соединение с базой данных установить не удалось.
Проверьте параметры соединения и попробуйте еще раз.
Что может быть причиной: 1. Имя сервера баз данных — записываю как [имя сервера][:][порт] — такие настройки идут от хостинга.
Может быть неверный синтаксис или cogear чего-то не понимает.
2. База данных уже создана хостером ранее и имя базы данных задано изначально.
Вдруг чего-то требует еще cogear от базы данных.
Ошибок в логах нет.
На этом хостинге с такими же параметрами успешно установливались WordPress, Livestreet, Dolphin.
Интересно узнать варианты решения проблемы. Думаю на 1-й вариант пока, но без логов непонятно куда смотреть, тем более, что проблем у других движков нет.


Я проверял вариант и без порта — кажется тоже не работал. Проверю вечером еще раз.
Если не указывается порт, то используется какой-то дефолтный или набор дефолтных портов.
Так?
А что если порт не является стандартным?
cogear.ru/user_guide/introduction/install/ Укажие DSN для соединения с Базой Данных
database = «mysqli://root:password@localhost/database»
В файле global.info как и в global.info.default про базы данных есть только 1 строка
database = FALSE
В какую секцию файла нужна записывать строку из мануала?
В каком синтаксисе?
Нужен рабочий пример с указанным портом базы.
Рабочий пример вы уже указали.
database = FALSE
такую
database = «mysqli://user:password@database_host:port/database_name»
Результат
A PHP Error was encountered
Severity: Notice
Message: Undefined index: scheme
Filename: database/DB.php
Line Number: 65
www.assembla.com/code/cogear/subversion/nodes/trunk/engine/codeigniter/database/DB.php?rev=1001
if (($dns = @parse_url($params)) === FALSE) { show_error('Invalid DB Connection String'); } $params = array( 'dbdriver' => $dns['scheme'], 'hostname' => (isset($dns['host'])) ? rawurldecode($dns['host']) : '', 'username' => (isset($dns['user'])) ? rawurldecode($dns['user']) : '', 'password' => (isset($dns['pass'])) ? rawurldecode($dns['pass']) : '', 'database' => (isset($dns['path'])) ? rawurldecode(substr($dns['path'], 1)) : '' );Попробуйте строчку вставить:'port' => (isset($dns['port'])) ? rawurldecode($dns['host']) : '',Можно задать параметры массивом, тогда все должно сработать:
database[dbriver] = "mysql" database[hostname] = "host" database[port] = 3306 database[username] = "user" database[password] = "password" database[database] = "base"A PHP Error was encountered
Severity: Warning
Message: syntax error, unexpected '=' in .../www/gears//global/global.info on line 45
Filename: libraries/Info.php
Line Number: 84
[database] dbdriver = "mysql" hostname = "host" port = 3306 username = "user" database = "base"Там еще был пароль пропущен, написал так
[database] dbdriver = «mysql» hostname = «host» port = 3306 username = «user» password = «psw» database = «base»
A PHP Error was encountered
Severity: Warning
Message: syntax error, unexpected '=' in .../www/gears//global/global.info on line 46
Filename: libraries/Info.php
Line Number: 84
dbdriver = «mysql»
hostname = «host»
port = 3306
username = «user»
password = «psw»
database = «base»
не робит((
{A PHP Error was encountered
Severity: 4096
Message: Object of class emptyClass could not be converted to string
Filename: libraries/Controller.php
Line Number: 101}
cogear.ru/ustanovka-cogear-na-khosting-616.html#comment-10771
A PHP Error was encountered
Severity: 4096
Message: Object of class emptyClass could not be converted to string
Filename: libraries/Controller.php
Line Number: 101
А значит мои решения Вам не подойдут.
По Вашей ошибке я посмотрел бы файл
и в нем строку
Что там так есть.
Ну и заодно проверил бы синтаксис тех файлов, которые изменялись вручную, вдруг где-то не хватает скобки.
У меня на 101 строке это
if(!strpos($this->site->database,'dbprefix')){Ну и последнее. После разборок с cogear, который нелюбит работать с нестандартным SQL и при отсутствии
поддержки сообщества прихожу к выводу, что с
cogear нет смысла связываться. Чтобы снова не попадать
в ситуации без отсутствия обратной связи от
разработчика.
Severity: Notice
Message: Undefined index: scheme
Filename: database/DB.php
Line Number: 65}
Вы вручную установили cogear и прописали параметры коннекта к БД и теперь надо сделать импорт базы SQL.
Посмотрите этот мой комментарий cogear.ru/nestandartnyjj-port-sql-servera-618.html#comment-10804
Или ждать Admin'a