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

Kin*_*Net 4 php linux sql-server laravel

我见过很多人在谈论FreeTDS和Sybase驱动程序,但我似乎无法弄清楚我需要从运行Laravel Homestead Vagrant框的Linux Web Server启用laravel/php访问MSSQL数据库.

Lor*_*ren 8

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

首先,vagrant ssh从Homestead文件夹中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
Run Code Online (Sandbox Code Playgroud)

最后你应该在/ 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
Run Code Online (Sandbox Code Playgroud)

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

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