1. Чтобы не получить бан прочти правила магентоман! Читать обязательно!

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

Тема в разделе "Magento", создана пользователем Sobesednik, 16 сен 2013.

Статус темы:
Закрыта.
Модераторы: Violent
  1. Sobesednik

    Sobesednik Постоялец

    Регистр.:
    30 мар 2013
    Сообщения:
    105
    Симпатии:
    22
    У меня есть вопрос. Знает ли кто-нибуть, где находится код в Magento, который отвечает за создание подключения к базе данных (MySQL)?
     
    Шумадан нравится это.
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    кажется это в lib\Varien\Db\Adapter\Mysqli.php :crazy:
    есть ещё app\code\core\Mage\Core\Model\Resource.php
    но я б скажем не рискнул туда смотреть ибо можна сломать мозг

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

    Sobesednik Постоялец

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

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

    Открытая тема, как я и говорил.
     
    Последнее редактирование модератором: 28 авг 2015
    Шумадан нравится это.
  4. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.728
    Симпатии:
    2.105
    вообще не подключается? mysql на этом же хост находится? пробовали вместо имени хоста ставить точку?
    кстате, хочу напомнить про темку
    https://www.nulled.cc/threads/242212/#post-2136538

    ну есть такое http://www.magentocommerce.com/boards/viewthread/578509/

    ну там на виндовозе, кстате. не совсем понимаю зачем возиться, но это уже другой вопрос.
     
    Последнее редактирование модератором: 28 авг 2015
    donvictorio и Sobesednik нравится это.
  5. Sobesednik

    Sobesednik Постоялец

    Регистр.:
    30 мар 2013
    Сообщения:
    105
    Симпатии:
    22
    Конечно! И нетолько это. Комюнити эдишн идет последним. Вот если ваш собственный взнос в поисках 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
     
    Последнее редактирование: 22 сен 2013
Статус темы:
Закрыта.