Agiletoolkit не может подключиться к базе данных - PullRequest
0 голосов
/ 19 октября 2011

Я вчера установил agiletoolkit, потому что мне нравится то, что они предлагают в отношении разработки графического интерфейса.

К сожалению, я не смог подключиться к своим базам данных MySQL.

SQLException

Database connection failed
MySQL error:
php_network_getaddresses: getaddrinfo failed: No such host is known. 

В моей конфигурации.php У меня есть sepcified

$config['dsn']='mysql://root:root:3307@localhost/agiletoolkit_examples';

. Я посмотрел на DBlite.php и сказал, что в этот файл будет выведена переменная с именем $ dsn_a.,,

array
  'database' => string 'agiletoolkit_examples' (length=21)
  'body' => string 'root:root:3307@localhost' (length=24)
  'type' => string 'mysql' (length=5)
  'port' => string 'root' (length=4)
  'hostspec' => string 'root' (length=4)

Мне это не подходит.,,он назначает "root" в качестве моего порта.


Спасибо, Берри, за ваш быстрый ответ.

Сначала я попробовал ...

$config['dsn']='mysql://root:root@localhost:3307/agiletoolkit_examples';

, нополучил следующую ошибку:

SQLException

Database connection failed
MySQL error:
No connection could be made because the target machine actively refused it.

и следующий вывод var_dump:

dsn_a:

array
  'database' => string 'agiletoolkit_examples' (length=21)
  'body' => string 'root:root@localhost:3307' (length=24)
  'type' => string 'mysql' (length=5)
  'port' => string '3307' (length=4)
  'hostspec' => string 'localhost' (length=9)
  'transport' => string '' (length=0)
  'password' => string 'root' (length=4)
  'username' => string 'root' (length=4)

... который выглядит лучше сопоставленным, но не работает.

ИтакЯ сослался на документацию и нашел это:

$config['dsn']='mysql://user:password@localhost/dbname';

// define port:
// $config['dsn']='mysql://user:password:8888@localhost/dbname';

// through socket
// $config['dsn']='mysql://user:password:/tmp/sock@localhost/dbname';

и это (Определение доступа через массив):

If the DSN string is impossible to define - for example, if your password contains the '@' character - then this alternative format is preferred: 

$config['dsn']=array(
     'hostspec'=>'localhost:1234',
     'username'=>'dbuser',
     'password'=>'secret' );
// Arguments passed to mysql_connect as 
// mysql_connect('localhost:1234','dbuser','secret');

Я не думаю, что естьчто-то не так с моей установкой mysql, потому что codeIgniter, yii и все мои приложения работают нормально.

Есть ли пользователи, у которых были подобные проблемы?

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

В драйвере SQL есть ошибка. Вот вопрос и обходной путь: Установка номера порта mysql в гибком наборе инструментов

Сообщение об ошибке и исправление: https://github.com/atk4/atk4/issues/27

0 голосов
/ 19 октября 2011

$ конфигурации [ 'DSN'] = 'MySQL: // корень: корень: 3307 @ локальный / agiletoolkit_examples';

Я не думаю, что порт должен быть там написан. Вместо этого попробуйте следующее:

$config['dsn']='mysql://root:root@localhost:3307/agiletoolkit_examples';

Чтобы быть более подробным, правильный синтаксис строки подключения к данным следующий:

"<driver>://<username>:<password>@<host>:<port>/<database>"
...