У меня был настроен сервер со следующими установленными и работающими:
Ubuntu 20.04
NGINX 1.17.10
PHP 7.4.5
* При установке 1025 * драйвер PDO SQLSRV установлен и работает правильно.
Мне нужно было добавить PHP 5.6 на тот же сервер для более старого веб-сайта. Мне удалось успешно установить PHP 5.6. но я не могу заставить часть драйвера SQLSRV правильно установить.
Я ранее установил инструменты ms sql на сервере при настройке PHP 7.4:
apt-get install msodbcsql17 -y
apt-get install mssql-tools
apt install unixodbc-dev
pecl install sqlsrv
pecl install pdo_sqlsrv
Пытаясь установить версию 5.6, я выполнил шаги для исходной установки. Я выполнил следующие команды:
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/5.6/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/5.6/mods-available/pdo_sqlsrv.ini
phpenmod -v 5.6 sqlsrv pdo_sqlsrv
pecl config-set php_ini /etc/php/5.6/fpm/php.ini
ls /etc/php/5.6/fpm/conf.d/*sqlsrv.ini
Все команды выполнены успешно. Затем я добавил следующие строки в соответствующий файл php .ini /etc/php/5.6/fpm/php.ini
extension=sqlsrv.so
extension=pdo_sqlsrv.so
Я перезагрузил и перезапустил php5 .6-fpm и затем перезапустил NGINX. PHP 5.6 успешно установлен, и я могу увидеть информацию, запустив phpinfo (). При установке ошибок не было. Однако в PDO драйверы PDO не отображаются. Я также подтвердил, что sqlsrv_connect не распознается.
Я знаю, что было бы идеально не иметь нескольких версий PHP или устанавливать их в разное время, но у меня не было выбора в этом проекте . Нужно ли мне устанавливать на коробку отдельную версию sqlsrv и pdo_sqlsrv, или мне просто что-то не хватает при установке?