Centos7 PHP 使用ODBC远程连接sqlserver

Centos7 PHP 使用ODBC远程连接sqlserver

  1. 安装 Microsoft ODBC Driver for SQL Server 按照官方安装文档安装

    官方文档中找到适合centos7的安装代码
    Centos7 PHP 使用ODBC远程连接sqlserver

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

Centos7 PHP 使用ODBC远程连接sqlserver
在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 用户 密码

这就是可以访问了,安装完成。
Centos7 PHP 使用ODBC远程连接sqlserver

  1. 下载安装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
Centos7 PHP 使用ODBC远程连接sqlserver
把这加到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,就可以看到扩展添加进来了
Centos7 PHP 使用ODBC远程连接sqlserver

上一篇:达梦ODBC配置方法


下一篇:ODBC