在Linux或其他支持UTF-8的驱动程序上安装SQLSRV驱动程序?

问题描述:

SQLSRV是PHP的唯一驱动程序,能够将UTF-8字符串存储为双字节列(NVARCHAR而不是VARCHAR),该列目前由Microsoft为PHP 5.2.X和5.3.X维护和支持。在Linux或其他支持UTF-8的驱动程序上安装SQLSRV驱动程序?

而且我还得到了链接,下载这些驱动程序Linux SQLSRV driver download为Linux,但我无法配置。

如果有人有知道如何在Linux上配置SQLSRV驱动程序或具有其他的一些替代方式UTF-8格式SQL服务器获取数据,请分享。

+1

没有尝试自己面前,但你是否安装了此扩展所需的ODBC驱动程序? http://www.microsoft.com/en-us/download/details.aspx?id=28160 – Hawili 2012-08-07 05:01:24

+0

odbc驱动程序的安装已经完成,我只是不知道如何安装sqlsrv驱动程序,甚至无法弄清楚是否可以安装在linux上 – hsuk 2012-08-07 05:20:47

+2

http://docs.php.net/manual/en/sqlsrv.requirements.php表示这是一个仅限windows的扩展。你在哪里读过? – VolkerK 2012-08-07 07:14:15

我在阅读本文后搜索了更多,我可能找到了答案。在Debian:

# apt-get install freetds-common freetds-bin unixodbc php5-mssql 

将安装PHP的一切需求*TDS,并允许我使用SQLSRV驱动程序连接。

其他UTF-8兼容的解决方案的dblib:

  1. 您安装freetds的,并使用PHP-MSSQL驱动程序PDO。在/etc/freetds.conf

  2. 更改编码

  3. 更改字符集和日期格式/etc/locales.conf

我做到了早在2010年

这里的来自微软社区的维基文章

https://github.com/Microsoft/msphpsql/wiki/Install-pdo_sqlsrv-for-PHP-7.0-on-Debian

我认为最简单的途径将是PHP梨路线

# (1) Install PDO driver from pecl 
apt-get install unixodbc-dev php7.0-dev php-pear 
pecl install pdo_sqlsrv-4.0.5 
echo -e "; priority=20\nextension=pdo_sqlsrv.so" > /etc/php/7.0/mods- available/pdo_sqlsrv.ini 
phpenmod -v 7.0 pdo_sqlsrv 
+0

有同样的灾难它适用于PHP 5.6吗? – 2017-03-27 06:43:04

+0

我还没有测试过这个,但这对你自己来说没有什么坏处:) – 2017-03-28 09:35:06

+0

谢谢,将不得不首先安装Linux :) – 2017-03-28 09:43:57