Я использовал файлы php5ts.dll для подключения к серверу php и ms sql на моей системе Windows, но мне нужно сделать то же самое для Linux, но те же файлы DLL не работают на Linux, как и для Windows. После Rnd я узнал, что для соответствия файлам DLL в Windows нам нужны .so файлы в Linux ТАК вопрос.
Я не знаю, что именно эти файлы .dll делают в php, чтобы подключить его к серверу MS SQL.
Было бы здорово, если бы кто-нибудь помог мне понять, почему то же самое не работает для Linux и что может быть решением?
Я также пришел через один и тот же вопрос Вот где пользователь задал аналогичный вопрос для Windows вместо Linux.
Ниже приведен фрагмент кода, который мы используем для создания соединения:
и файлы драйверов размещены здесь на D: \ WAMP \ Bin \ PHP \ php5.4.16 >> php5ts.dll
а также
D: \ wamp \ bin \ php \ php5.4.16 \ ext >> php_sqlsrv_54_ts.dll
Подключение с php5 на машине с linux к Micrsoft SQL немного интуитивно понятно, вам действительно нужно использовать расширение sybase и драйвер pear MDB2 для MS SQL. Функции MSSQL в PHP5 фактически дублируют функции Sybase, если вы не можете установить расширение MSSQL из-за ограничений ОС.
Чтобы решить эту проблему, используйте следующие команды …
sudo apt-get install php5-sybase
pear install --nodeps MDB2_Driver_mssql
После этого вы можете проверить это с помощью …
<?php
$server = 'servername';
$username = 'sa';
$password = 'password';
$database = 'xxx';
$connection = mssql_connect($server, $username, $password);
if($connection != FALSE)
{
echo "Connected to the database server OK<br />";
}
else
{
die("Couldn't connect");
}
if(mssql_select_db($database, $connection))
{
echo "Selected $database ok<br />";
}
else
{
die('Failed to select DB');
}
$query_result = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($query_result);
if($row != FALSE)
{
echo "Version is {$row[0]}<br />";
}
mssql_free_result($query_result);
mssql_close($connection);
Других решений пока нет …