在Laravel家园中启用MSSQL支持的正确方法是什么?

我已经看到很多人在谈论FreeTDS和Sybase驱动程序,但我似乎无法弄清楚我需要从运行Laravel Homestead Vagrant框的Linux Web服务器启用对MSSQL数据库的laravel / php访问。

我正在复活,因为它是谷歌早期的结果之一,我的问题…

首先,从Homestead文件夹ssh进入你的box vagrant ssh

然后,安装php5-mssql sudo apt-get update && sudo apt-get install php5-mssql

对于PHP 7的新Vagrant,使用sudo apt-get update && sudo apt-get install php7.0-sybase

如果失败了,你可能需要做sudo apt-get upgrade

现在编辑freetds.conf sudo vi /etc/freetds/freetds.conf

改变前几行:

 [global] # TDS protocol version tds version = 7.2 client charset = UTF-8 

最后,你应该在/ etc / freetds中创建一个locales.conf文件,以便正确解析SQL server日期,我有这个配置,并且与DateTime,DateTime2,SmallDateTime和Date数据类型一起工作良好: sudo vi /etc/freetds/locales.conf

 [default] date format = %Y-%m-%d %H:%M:%S.%z [en_US] date format = %b %e %Y %I:%M:%S:%z%p language = us_english charset = iso_1 [es_ES] date format = %b %d %Y %I:%M%p language = spanish charset = iso_1 [pt_BR] date format = %d/%m/%Y %H:%M language = Portuguese charset = iso_1 [it_IT] date format = %d/%m/%Y %H:%M language = Italiano charset = iso_1 

最后,重新启动服务器vagrant halt && vagrant up (只需重新启动nginx不会导致设置生效。)

来源: https : //laracasts.com/discuss/channels/general-discussion/sqlsrv-driver-on-linux/replies/14887