В основном проблемы были 2:
- Прежде всего, драйверы были установлены неправильно.Мне нужно было установить драйверы через PECL.Вот как я их установил в Redhat Cent OS 7:
Установка PHP:
sudo su
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm epel-release-latest-7.noarch.rpm
subscription-manager repos --enable=rhel-7-server-optional-rpms
yum-config-manager --enable remi-php72
yum update
yum install php php-pdo php-xml php-pear php-devel re2c gcc-c++ gcc
Предварительные требования для установки
sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
sudo yum install devtoolset-7
scl enable devtoolset-7 bash
Установка драйверов PHP для SQL Server
pecl download sqlsrv
tar xvzf sqlsrv-5.2.0.tgz
cd sqlsrv-5.2.0/
phpize
./configure --with-php-config=/usr/bin/php-config
make
sudo make install
Установите Apache и перезапустите службу
sudo yum install httpd
sudo apachectl restart
- РЕДАКТИРОВАТЬ -
Вы также можете загрузить готовые двоичные файлы изСтраница проекта Github или установка из репозитория Remi:
sudo yum install php-sqlsrv php-pdo_sqlsrv
В моем случае мне также пришлось открыть соединение брандмауэра с сервера базы данных.Вы проверите, нужно ли это, запустите sqlcmd из терминала, чтобы подключиться к базе данных.Если вы получаете сетевую ошибку с правильными учетными данными, то вы знаете, что у вас проблема с брандмауэром.
Надеюсь, это поможет любому, кто испытывает трудности при подключении к серверу Linux к SQL Server.