1.添加微软源
在 https://packages.microsoft.com/config/ 找对应的源,
我这里选择debian:
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/microsoft.list
W: GPG error: http://security.ubuntu.com trusty-security Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5
这个问题的解决办法:apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 40976EAF437D05B5
2.安装驱动
# apt-get update
# apt-get install msodbcsql mssql-tools unixodbc-dev
3.安装扩展
下载 http://pecl.php.net/package/pdo_sqlsrv
# tar -zxvf pdo_sqlsrv-5.2.0.tgz
# cd pdo_sqlsrv-5.2.0
# phpize
# ./configure
# make && make install
然后 php.ini > extension=pdo_sqlsrv.so;
-
出现错误:
undefined symbol: php_pdo_register_driver
是因为php.ini中 pdo_sqlsrv.so 和 pdo.so的加载顺序反了,pdo_sqlsrv.so应该在pdo.so之后 -
出现错误:
undefined symbol: mysqlnd_allocator
(这个是捎带说一下),和上面类似是mysqlnd 模块 和 pdo_mysql 的顺序问题,应该先加载 mysqlnd