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>"