linux系统可以使用哪些.so文件对应windows中的.dll文件来连接php到ms sql server

Posted

技术标签:

【中文标题】linux系统可以使用哪些.so文件对应windows中的.dll文件来连接php到ms sql server【英文标题】:Which .so files can be used for linux system corresponding to .dll files in windows to connect php to 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

【问题讨论】:

呃没有 .dll 文件在 linux 上工作。您是否尝试将 Windows Apache/PHP 安装复制到 linux 系统? 这可能会让你开始pointbeing.net/weblog/2010/05/… 是的。我想在 linux 上配置我的项目。我的项目使用 ms sql server 作为数据库,使用 php 作为服务器脚本语言。 第一个问题;如何在 Windows(代码)中连接 sql db。第二个问题:你为 php 和 db 驱动程序使用不同的服务器吗? "The PDO_SQLSRV extension is only compatible with PHP running on Windows. For Linux, see ODBC and » Microsoft's SQL Server ODBC Driver for Linux."。所以看起来你不能在两个平台上使用你选择的驱动程序。我猜你可能应该使用 FreeTDS 或 PDO_ODBC 之类的东西,但我没有任何从 unix PHP 安装连接到 SQL Server 的经验。 【参考方案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的连接成功了吗?

以上是关于linux系统可以使用哪些.so文件对应windows中的.dll文件来连接php到ms sql server的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux和windos中创建指定大小的文件

linux测试系统使用expdp迁移数据到windos系统,11.2.0.4版本测试

Android下查看SO库的依赖

全网首发:制作LINUX安装软件包,要处理哪些系统目录和文件

pip装的包在windos和linux是一样的吗

无法安装 /lib/x86_64-linux-gnu/libpng12.so.0 的新版本: 没有那个文件或目录