Agiletoolkit не может подключиться к базе данных

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

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

SQLException

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

В моем config.php я разделил

$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)

Это не выглядит правильным для меня.,, это назначает "корень" в качестве моего порта.


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

Я впервые попробовал...

$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 ответа

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

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

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

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

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

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

"<driver>://<username>:<password>@<host>:<port>/<database>"
Другие вопросы по тегам