I've seen a lot of people talking about FreeTDS and Sybase drivers, but I can't seem to figure out what I need to enable laravel/php access to MSSQL databases from a Linux Web Server running the Laravel Homestead Vagrant box.
I'm resurrecting this because it was one of the early results on google for my problem...
First, ssh into your box vagrant ssh
from the Homestead folder.
Then, install php5-mssql
sudo apt-get update && sudo apt-get install php5-mssql
For newer Vagrant with PHP 7, use sudo apt-get update && sudo apt-get install php7.0-sybase
.
If this fails, you may need to do sudo apt-get upgrade
.
Now edit freetds.conf sudo vi /etc/freetds/freetds.conf
Change the top few lines:
[global]
# TDS protocol version
tds version = 7.2
client charset = UTF-8
Finally you should create a locales.conf file within /etc/freetds to allow correct parsing of dates with SQL Server, i have this configuration and has worked well with DateTime, DateTime2, SmallDateTime and Date data types: 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
Last, restart your server vagrant halt && vagrant up
(Just restarting nginx doesn't cause the settings to take effect.)
Source: https://laracasts.com/discuss/channels/general-discussion/sqlsrv-driver-on-linux/replies/14887
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With