Я пытаюсь подключиться с php с помощью laravel framework к SQL Server, моя версия php 5.5.30, установлены драйверы PDO: mysql, sqlite, pgsql, odbc. используя веб-сервер (MAMP) в OS X El Capitan.
Для подключения использую FreeTDS и unixODBC, обе библиотеки устанавливал по этой статье. https://gist.github.com/Bouke/10454272 и отлично работают с терминала.
Я использую следующий код в файле php.
$db = new PDO('odbc:Driver=FreeTDS; Server=192.168.1.1; Port=4433; Database=focalyx; UID=myUser; PWD=myPassword;');
}
catch(PDOException $exception)
{
die("Unable to open database.<br />Error message:<br /><br />$exception.");
}
echo '<h1>Successfully connected!</h1>';
$query = 'SELECT * FROM Users';
try{
$statement = $db->prepare($query);
$statement->execute();
}catch(PDOException $exception){
die("Unable to open database.<br />Error message:<br /><br />$exception.");
}
$result = $statement->fetchAll(PDO::FETCH_NUM);
print_r($result);
однако при попытке запуска с локального хоста покажите эту ошибку.
exception 'PDOException' with message 'SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib 'FreeTDS' : file not found' in /Applications/MAMP/htdocs/myProject/test.php:5 Stack trace: #0 /Applications/MAMP/htdocs/myProject/test.php(5): PDO->__construct('odbc:Driver=Fre...') #1 {main}.
php установлен в
/Applications/MAMP/bin/php/php5.6.10/conf/php.ini
Я не знаю, возможно ли установить FreeTDS в каталог MAMP или создать своего рода символическую ссылку.
$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");
(взято из моего старого ответа здесь: stackoverflow.com/questions/20163776/ - person Benny Hill   schedule 19.03.2016