【问题标题】:Which .so files can be used for linux system corresponding to .dll files in windows to connect php to ms sql serverlinux系统可以使用哪些.so文件对应windows中的.dll文件来连接php到ms sql server
【发布时间】:2016-04-12 22:58:45
【问题描述】:

我在我的 Windows 系统上使用 php5ts.dll 文件来连接 php 和 ms sql 服务器,但我需要为 linux 做同样的事情,但相同的 dll 文件在 linux 上不能像在 Windows 上一样工作。在 Rnd 之后,我知道对应于 windows 中的 dll 文件,我们需要 linux SO question 中的 .so 文件。 我不知道这些 .dll 文件在 php 中的作用是将其连接到 ms sql 服务器。

如果有人能帮助我理解为什么同样的方法不适用于 linux 以及有什么解决方案,那就太好了?

我也遇到了一个相同的问题here,其中用户针对 windows 而不是 linux 提出了类似的问题。

以下是我们用来创建连接的一段代码:

  • db.driver = "pdo_sqlsrv"
  • db.host = ""
  • db.dbname = ""
  • db.user = ""
  • db.password = ""

驱动文件放在这里D:\wamp\bin\php\php5.4.16 >>php5ts.dllD:\wamp\bin\php\php5.4.16\ext >> php_sqlsrv_54_ts.dll

【问题讨论】:

标签: php sql-server dll .so


【解决方案1】:

要从 linux 机器上的 php5 连接到 Micrsoft SQL 有点不太直观,您实际上需要使用 sybase 扩展和用于 MS SQL 的 pear MDB2 驱动程序。如果由于操作系统限制无法安装 MSSQL 扩展,PHP5 中的 MSSQL 函数实际上是 Sybase 函数的别名。

要解决这个问题,请使用以下命令...

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);

【讨论】:

  • 上面提到的我需要安装什么软件:sudo apt-get install php5-sybase, pear install --nodeps MDB2_Driver_mssql
  • 你的linux机器上配置php和ms sql的连接成功了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 2010-10-05
  • 2013-05-27
相关资源
最近更新 更多