Так как Magento стоит на Linux сервере, это оказалось не такой уж простой задачкой.
Нужно было установить расширение, которое позволяло бы PHP подключаться к MSSQL.
Так как Magento основана на Zend Framework, родным для нее будет подключение при помощи PDO_DBLIB драйвера, который, разумеется никогда на Linux серверах по умолчанию не устанавливается.
Чтобы установить этот драйвер для начала нужно установить сам PDO модуль. С ним проблем не возникло и при помощи
pecl install pdoон успешно установился.
А вот
pecl install pdo_dblibначал ругаться.
Сначала на то что он не может запустить компилятор.
Решил эту проблему радикально:
mount -o remount,exec,suid /tmp mount -o remount,exec,suid /var/tmp
На этом он не успокоился и стал требовать чтобы был установлен пакет FreeTDS
С ним прошло все более ли менее гладко и встал он куда ему и указали.
Очередная попытка установить pdo_dblib снова не увенчалась успехом, конфигурационный файл ни в какую не хотел видеть где установлен FreeTDS, даже когда ему прописывали путь в ключе.
Помогло это:
touch {path}/freetds/include/tds.h touch {path}/freetds/lib/libtds.a
Теперь снова нашлась причина чтобы не установиться. Видите ли ему версия PDO не нравится.
Решилось просто:
pecl install -n pdo_dblibт.е. с игнорированием зависимости от версии PDO.
Только после этого этот несчастный драйвер позволил себя сконфигурировать и установить.
Танцы с бубном продолжались не менее 4 часов. Подопытный сервер практически не пострадал, за исключением того, что в процессе пришлось перекомпилировать apache+php чтобы убить "родную" поддержку PDO, с которой PDO_DBLIB ни в какую не хотел дружить и в последствии установить PDO через Pecl. После перекомпиляции apache нужно заново переконфигурировать Nginx. Но это уже мелочи жизни :-)
Апдейт: Данная шпаргалка действительна для PHP 5.2.x. Для PHP 5.3.x. есть новая шпаргалка, там процесс настройки сильно отличается.
Комментариев нет :
Отправить комментарий