Проблемы с субд при установке.
Grygorievm
Новичок
: 4
: 14-07-2017


14-07-2017 02:39
Ставлю версию 1.5.4.1 на хостинг. БД создана, все ок при вводе но когда хочу перейти к следующему шагу вижу надпись - что движок InnoDB не поддерживаеться вашим сервером MySql. И можно использовать MyISAM. Последний поставился без нареканий.
Я возмутился и к хостеру обратился. На что ответили что доступен и InnoDB и MyISAM и проблема скорее всего в том что - код установщика некорректно определяет доступные движки. Может кто сталкивался с данной проблемой. И как жить с MyISAM если нерешаемо. Буду благодарен помощи.


:
Снимок.JPG - 101.47KB, : 318 ()
 
  
Алекс


Администратор
: 4516
: Красноярск
: 29-05-2009


14-07-2017 12:52
Цитата:( Grygorievm @ 14-07-2017 03:39 Смотреть сообщение )
вижу надпись - что движок InnoDB не поддерживаеться вашим сервером MySql. И можно использовать MyISAM.

PrestaShop проверяет наличие поддержки innodb используя запрос:
Код:
SHOW VARIABLES WHERE Variable_name = 'have_innodb'


Перейдите в phpMyAdmin > SQL и проверьте запрос:
Код:
show variables like 'have_innodb';


Пример ответа:
Код:
mysql> show variables like 'have_innodb';
+---------------+-------+
| Variable_name | Value
+---------------+-------+
| have_innodb   | YES
+---------------+-------+


Также приложите ответ на запрос:
Код:
show engines;

 
  
Grygorievm
Новичок
: 4
: 14-07-2017


14-07-2017 15:11
Алекс спасибо за ответ.

На запрос SHOW ENGINES

получил ответ приложенный в скрине.

На запрос show variables like 'have_innodb'; - ответа не было, задавал посимвольно как вы написали.



:
2.JPG - 70.33KB, : 182 ()
 
  
Алекс


Администратор
: 4516
: Красноярск
: 29-05-2009


14-07-2017 15:21
Цитата:( Grygorievm @ 14-07-2017 16:11 Смотреть сообщение )
На запрос SHOW ENGINES
получил ответ приложенный в скрине.

Откройте файл /classes/db/DbPDO.php и удалите код:
Код:
if (strtolower($engine) == 'innodb')
{
    $sql = 'SHOW VARIABLES WHERE Variable_name = \'have_innodb\'';
    $result = $link->query($sql);
    if (!$result)
        return 4;
    $row = $result->fetch();
    if (!$row || strtolower($row['Value']) != 'yes')
        return 4;
}
 
  
Grygorievm
Новичок
: 4
: 14-07-2017


14-07-2017 15:31
Удалил. Извините за невежество, что я должен получить на выходе после данной операции?
show variables like 'have_innodb'; - до сих пор ответа нет


Сообщение отредактировал Grygorievm (14-07-2017 16:35)
 
  
Grygorievm
Новичок
: 4
: 14-07-2017


14-07-2017 16:23
Все вышло. Спасибо громадное за помощь. Алекс вы лучший!)