Centos7 PHP 使用ODBC远程连接sqlserver
-
安装 Microsoft ODBC Driver for SQL Server 按照官方安装文档安装
官方文档中找到适合centos7的安装代码
sudo su
#RedHat Enterprise Server 7,CENTOS7
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
#如果有旧版本的先删除
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel #to avoid conflicts
sudo ACCEPT_EULA=Y yum install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y yum install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo yum install unixODBC-devel
安装完成后测试看是否安装成功,下图就是安装成功了,ODBC安装在了根目录下
odbcinst -j
在odbcinst.ini查看sqlsrv的驱动安装位置,打开配置文件obdc.ini,添加驱动和远程连接的ip地址
vi /etc/odbcinst.ini
#odbcinst.ini配置
[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1#把这个复制到odbc.ini
UsageCount=1
vi /etc/odbc.ini
#odbc.ini配置
[SQLSRV]
Driver = /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1
Description = SQLSRV ODBC Driver DSN
Server = 142.122.112.151#远程IP地址
Port = 1433
然后测试看是否连通
isql -v SQLSRV 用户 密码
这就是可以访问了,安装完成。
- 下载安装PHP pdo_srv扩展,pdo_sqlsrv的下载地址这里有很多的版本可以根据情况选择,我用的是5.3.0版本,下载解压编译安装。
cd /usr/local/src/
wget http://pecl.php.net/get/pdo_sqlsrv-5.3.0.tgz
tar -zxvf pdo_sqlsrv-5.3.0.tgz
cd pdo_sqlsrv-5.3.0/
phpize
#PHP-Config是在php安装目录的bin目录下,根据php安装位置修改--with-php-config
./configure --with-php-config=/www/server/php/70/bin/php-config
#没有报错就可以执行安装
make && make install
安装成功后,会返回一个php扩展目录,需要把扩展目录和pdo_sqlsrv添加到php.ini
把这加到php.ini,保存并重启php-fpm,/etc/init.d/php-fpm-70 restart
extension_dir=/www/server/php/70/lib/php/extensions/no-debug-non-zts-20151012/
extension=pdo_sqlsrv.so
查看phpinfo,就可以看到扩展添加进来了