Установка номера порта mysql в гибком наборе инструментов

Как установить номер порта для соединения mysql в Agile Toolkit? Mysql на моем локальном компьютере работает на другом порту 3307, как должна выглядеть моя конфигурация подключения?

Я пробовал следующее, но это не сработало,

$config['dsn']='mysql://atk:password@localhost:3307/atk';

Я получаю следующую ошибку, когда пытаюсь выполнить тест БД,

C:\xampp\htdocs\atk4.1.2\atk4\lib\DBlite/mysql.php:40 [2] mysql_pconnect() [function.mysql-pconnect]: [2002] No connection could be made because the target machine actively refused it. (trying to connect via tcp://localhost:3306)
C:\xampp\htdocs\atk4.1.2\atk4\lib\DBlite/mysql.php:40 [2] mysql_pconnect() [function.mysql-pconnect]: No connection could be made because the target machine actively refused it. 

SQLException

Database connection failed

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


C:\xampp\htdocs\atk4.1.2\atk4\lib\BaseException.php:37

Stack trace:
C:\xampp\htdocs\atk4.1.2\atk4\lib/BaseException.php :37  SQLException BaseException->collectBasicData(Null, 1, 0) 
C:\xampp\htdocs\atk4.1.2\atk4\lib/SQLException.php :45  SQLException BaseException->__construct("<p>Database connection failed</p><b>MySQL error:</b> <div style='border: 1px solid black'><font color=red>No connection could be...", Null, 1) 
C:\xampp\htdocs\atk4.1.2\atk4\lib/DBlite.php :359  SQLException SQLException->__construct(Null, "Database connection failed") 
C:\xampp\htdocs\atk4.1.2\atk4\lib/DBlite.php :101  gift_project DBlite->fatal("Database connection failed", True) 
C:\xampp\htdocs\atk4.1.2\atk4\lib/ApiCLI.php :276  gift_project DBlite->connect(Array(7)) 
C:\xampp\htdocs\atk4.1.2\page/dbtest.php :7  gift_project ApiCLI->dbConnect() 
C:\xampp\htdocs\atk4.1.2\atk4\lib/AbstractObject.php :129  gift_project_dbtest page_dbtest->init() 
C:\xampp\htdocs\atk4.1.2\atk4\lib/ApiFrontend.php :90  gift_project AbstractObject->add("page_dbtest", "dbtest", "Content") 
C:\xampp\htdocs\atk4.1.2\atk4\lib/ApiWeb.php :305  gift_project ApiFrontend->layout_Content() 
C:\xampp\htdocs\atk4.1.2\atk4\lib/ApiWeb.php :297  gift_project ApiWeb->addLayout("Content") 
C:\xampp\htdocs\atk4.1.2\atk4\lib/ApiWeb.php :182  gift_project ApiWeb->initLayout() 
C:\xampp\htdocs\atk4.1.2/index.php :15  gift_project ApiWeb->main() 

Решение. Работает следующий тип конфигурации

$config['dsn']=array('type'=>'mysql',
             'hostspec'=>'localhost:3307',
             'username'=>'atk',
             'password'=>'password',
             'database'=>'atk',
             'charset'=>'utf-8');

person Abhishek    schedule 17.10.2011    source источник
comment
Я думаю, это ошибка. Я рассмотрю это в грядущей версии 4.1.3. Между тем, вы пытались передать DSN в формате массива?   -  person romaninsh    schedule 17.10.2011
comment
@romaninsh Извините, я не пробовал. Как это сделать?   -  person Abhishek    schedule 17.10.2011
comment
Это кратко упоминается здесь: agiletoolkit.org/learn/install/db   -  person romaninsh    schedule 17.10.2011
comment
@romaninsh :( Кажется, это тоже не работает   -  person Abhishek    schedule 18.10.2011
comment
@romaninsh Теперь это работает, и я отредактировал сообщение с фактической конфигурацией, которая сработала. Я думаю, что тип отсутствует в URL-адресе (agiletoolkit.org/learn/install/db) . Огромное спасибо   -  person Abhishek    schedule 18.10.2011
comment
Спасибо, что указали. Я также создал отчет об ошибке для проблемы с DSN: github.com/atk4/atk4/issues /27   -  person romaninsh    schedule 18.10.2011


Ответы (1)


попробуйте следующее

 $config['dsn']=array('type'=>'mysql','username'=>'atk',
 'host'=>'localhost','database'=>'atk','password'=>'password',
 'port'=>3307,'charset'=>'utf-8');
person Trevor North    schedule 17.10.2011
comment
Пробовал это, не работает. Я обновил сообщение с ошибкой, которую я получаю - person Abhishek; 18.10.2011
comment
У меня это работает сейчас. Конфигурация добавлена ​​в пост. Огромное спасибо - person Abhishek; 18.10.2011
comment
Gald, у вас все получилось - я попробовал предложенный мной синтаксис с портом 3306, и он работает, но у меня нет доступа к mysql с другим номером порта. Обратите внимание, что в исходном сообщении вы упомянули порт 3307, но в вашей рабочей версии вы указали 1529, поэтому предположим, что вы попробовали его с правильным номером порта. - person Trevor North; 18.10.2011
comment
Да, это своего рода другая конфигурация для разработки и тестирования, 3307 был моим разработчиком, а тот был на тесте :) загвоздка в том, что это смесь и совпадение того, что romaninsh и вы сказали. Извините, что номер порта ввел в заблуждение Еще раз спасибо за ваше время... - person Abhishek; 18.10.2011