网上搜了一通,没找到Linux环境支持Sqlsrv驱动的环境配置。
研究了几天终于在Linux环境里连上了SQL Server 2008,o(∩_∩)o 哈哈!
首先,Linux环境装个驱动:Microsoft® SQL Server® ODBC Driver 1.0 for Linuxhttps://www.microsoft.com/en-us/download/details.aspx?id=28160
根据安装指引配置一下,得支持unixODBC,配置网上很多,可参考:http://my.oschina.net/xuhh/blog/173968
最后看了下phpinfo有这些了:

既然没有Mssql驱动,就增加一个吧,但PHP水平极其有限,于是就用Sqlsrv的改了改:
ThinkPHP>Library>Think>Db>Driver>Mssql.class.php
......
protected $selectSql = 'SELECT T1..............'; //可以在ThinkPHP之前版本的Mssql驱动扩展里CP
......
protected $options = array(
PDO::ATTR_CASE => PDO::CASE_LOWER,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_STRINGIFY_FETCHES => false,
//PDO::SQLSRV_ATTR_ENCODING => PDO::SQLSRV_ENCODING_UTF8, //注释掉这行
);
......
protected function parseDsn($config){
//Driver引自/etc/odbcinst.ini文件(下面加粗部分)
$dsn = 'odbc:Driver=SQL Server Native Client 11.0;Database='.$config['database'].';Server='.$config['hostname'];
......
config.php配置参考我前一篇文章。大概这样就OK了!
最佳答案
