Конструкция канала Магенто-БД (MySQL)

Статус
В этой теме нельзя размещать новые ответы.

Sobesednik

Постоялец
Регистрация
30 Мар 2013
Сообщения
105
Реакции
23
У меня есть вопрос. Знает ли кто-нибуть, где находится код в Magento, который отвечает за создание подключения к базе данных (MySQL)?
 
кажется это в lib\Varien\Db\Adapter\Mysqli.php :crazy:
есть ещё app\code\core\Mage\Core\Model\Resource.php
но я б скажем не рискнул туда смотреть ибо можна сломать мозг

а можно более детально узнать про "зачем"?
 
а можно более детально узнать про "зачем"?

Пробую поднимать старую историю [для себя] могу запустить Joomla, phpMyAdmin, etc., на именном канале с любым именем, а вот Magento немогу (только через 'mysql'). Напрашивается мысля, что Magento полностью неподдерживает именных каналов. Хочю посмотреть как они это денают, чтобы убедиться.

вообще не подключается? mysql на этом же хост находится? пробовали вместо имени хоста ставить точку?
кстате, хочу напомнить про темку
Для просмотра ссылки Войди или Зарегистрируйся

Ну да, напомнил мне мое невежовство. Спасибо Шумадан... :) Ну посмотри, может твоя голова чего хорошего придумает.
Насколько я раскапал:
1) Магенто юзает PDO::__construct (pdo_mysql.dll); так что надо там смотреть; нашел чттото в коде, но нипонятно ничрта.
2) Насчет '.' - по моему я испробовал все варианты. Нехочу расространяться пока неувижу что другие думают.

ну есть такое Для просмотра ссылки Войди или Зарегистрируйся
Открытая тема, как я и говорил.
 
Последнее редактирование модератором:
Пробую поднимать старую историю [для себя] могу запустить Joomla, phpMyAdmin, etc., на именном канале с любым именем, а вот Magento немогу (только через 'mysql'). Напрашивается мысля, что Magento полностью неподдерживает именных каналов. Хочю посмотреть как они это денают, чтобы убедиться.
вообще не подключается? mysql на этом же хост находится? пробовали вместо имени хоста ставить точку?
кстате, хочу напомнить про темку
Для просмотра ссылки Войди или Зарегистрируйся

Ну да, напомнил мне мое невежовство. Спасибо Шумадан... :) Ну посмотри, может твоя голова чего хорошего придумает.
Насколько я раскапал:
1) Магенто юзает PDO::__construct (pdo_mysql.dll); так что надо там смотреть; нашел чттото в коде, но нипонятно ничрта.
2) Насчет '.' - по моему я испробовал все варианты. Нехочу расространяться пока неувижу что другие думают.
ну есть такое Для просмотра ссылки Войди или Зарегистрируйся

Открытая тема, как я и говорил.
ну там на виндовозе, кстате. не совсем понимаю зачем возиться, но это уже другой вопрос.
 
Последнее редактирование модератором:
Конечно! И нетолько это. Комюнити эдишн идет последним. Вот если ваш собственный взнос в поисках bug им пригодться (как это уже было раньше), вот тогда поправка будет учтена.

Что касается конструктора, то он пожалуй в файле lib\Varien\Db\Adapter\Pdo\mysql.php
Ниже привожу часть кода от строки 295:

PHP:
    protected function _connect()
    {
        if ($this->_connection) {
            return;
        }

        if (!extension_loaded('pdo_mysql')) {
            throw new Zend_Db_Adapter_Exception('pdo_mysql extension is not installed');
        }

        if (strpos($this->_config['host'], '/') !== false) {
            $this->_config['unix_socket'] = $this->_config['host'];
            unset($this->_config['host']);
        } else if (strpos($this->_config['host'], ':') !== false) {
            list($this->_config['host'], $this->_config['port']) = explode(':', $this->_config['host']);
        }

Буду пробовать чтото изменять или дополнять. Надеюсь, это единственное место где можно смореть.

ADDED:
Разобрался. Поскольку Magento мспользует PDO_MySQL, а PDO не поддеривает named pipes (только unix_socket), то и получается, что на сей день невозможо наладить именные каналы с другим именем (только с mysql). Так что подключайте Magento используя канал по умолчанию, а налаживайте другие прог. (joomla скажем) с другими именными каналами. Вот и все. Windows опять в ж-пе. :D
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху