这就是我将 Laravel 应用程序连接到 MS SQL Server 所做的事情:
sudo apt-get 更新
sudo apt-get install php5-sybase
如果您尝试安装 php5-mssql,它无论如何都会安装 php5-sybase,它是“Sybase / MS SQL Server module for php5”。
这将使 Laravel 使用 dblib 驱动程序而不是 sqlsrv。
查看此文件以供参考 Illuminate\Database\Connectors\SqlServerConnector.php。
- 打开这个文件:/etc/freetds/freetds.conf
under [global]
节及以下tds version = 4.2
add tds version = 8.0
(行首不带 ; 半栏)
并添加客户端charset = UTF-8
就在上面一行的下面(行首不带 ; 半栏)
这使得驱动程序可以对所有数据进行 utf-8 编码,并避免数据中出现奇怪的字符
该文件将如下所示:
[global]
# TDS protocol version
; tds version = 4.2
tds version = 8.0
client charset = UTF-8
- 创建文件语言环境配置文件在这个目录下/etc/freetds并在其中添加以下内容:
(这允许使用 SQL Server 正确解析日期)。
[default]
date format = %Y-%m-%d %I:%M:%S.%z
[en_US]
date format = %b %e %Y %I:%M:%S:%z%p
language = us_english
charset = iso_1
- 编辑php.ini file
首先找到该文件php-i | grep php.ini
然后打开文件并搜索mssql.字符集(它可能会像这样被禁用; mssql.charset=“ISO-8859-1” )
make it mssql.charset=“UTF-8”>
保存并退出
now restart您的服务器(nginx 或 apache 或 php-fpm)
当然你知道你需要将数据库配置设置为默认使用 sqlsrv'default' => 'sqlsrv',
并添加您的凭据。
其他方法:
您可以使用 ODBC 驱动程序进行连接
这是一个不错的包https://github.com/ccovey/odbc-driver https://github.com/ccovey/odbc-driver