【问题标题】:need solution for hosting php-sqlsrv application in linux(centos) [closed]需要在 linux(centos)中托管 php-sqlsrv 应用程序的解决方案 [关闭]
【发布时间】:2013-01-10 04:41:04
【问题描述】:

我们在windows环境下开发了一个php web应用程序,可以远程联系sql server。现在,如果我们尝试在 linux 环境(Centos)中托管相同的应用程序,它不会通过我的 php 应用程序连接到 sql server。请找到以下配置..

Windows:

应用:PHP(版本:5.3.8)

服务器:Wamp 服务器

数据库:远程连接到 SQL Server 2008 R2

用于连接的代码:sqlsrv_connect(已安装并连接 Sql 驱动程序)

使用的 DLL:所有 php_sqlsrv_53_ts.dll 文件

还安装了 SQL Server 2012 本机客户端

现在我如何使用上面(配置)提到的 php 应用程序在 centos 中托管我的网站???

Linux(Centos):

即使我们尝试在 centos 中使用免费的 TDS。这有助于远程联系 SQL 服务器,但我们的 php 应用程序不支持此功能。我知道 dll 文件和激活这些激活对于远程连接 sql server 和 php 应用程序起着重要作用。但是 DLL 文件不能用于 linux 环境。那么有什么建议可以解决这个问题吗?

任何建议/解决方案将不胜感激。谢谢。

【问题讨论】:

  • 检查 centos 上 phpinfo() 的输出。扩展是否已加载?
  • 嗨,嘿嘿..感谢您的及时回复..否..它尚未加载.. :(
  • 你试过PHP documentation中描述的方式吗?
  • 该文档解释了 mssql 驱动程序 hek..但我们正在尝试 sqlsrv 驱动程序及其在 linux 中支持的 php 扩展 :(
  • 好了,明白mssql和php_sqlsrv的区别了。 (我不是 Windows 专家)..

标签: php sql-server linux


【解决方案1】:

对于 Microsoft 的 php_sqlsrv 驱动程序,不存在 Linux 驱动程序。来自文档:

支持的操作系统:Windows 2000 Service Pack 4; Windows Server 2003 服务包 2;视窗服务器 2008; Windows 小型企业服务器 2003; Windows Vista 服务包 1; Windows XP 服务包 2

虽然驱动程序的源代码可用,但尚未移植到 Linux。您可以通过以下选择将 Web 应用程序移植到 Linux:

  • 尝试使用 mssql 驱动程序(如果可能)
  • 尝试使用 odbc 驱动程序(如果可能)
  • 迁移到不同的数据库,如 mysql、postgres ...
  • 自己将驱动程序移植到 Linux(硬)
  • 使用 Windows ;)

另一种(非常hacky)方式(如果你真的需要这个)可能是:在CentOS 上安装wine,同时将php 作为fcgi 运行,其中解释器是一个wine 应用程序。然后你可以使用 php_sqlsrv Windows dll。我没有对此进行测试,但它可能会起作用。

【讨论】:

  • @smallerik 你是在采用 hacky fast cgi 的方式吗? :)
  • 我不知道,而且所有这些。我们需要在 linux 中启动一个应用程序。我只是将您的建议发送给管理团队..他们说他们会照顾它.. :)
  • 好的,明白了。祝你好运! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 2014-04-08
  • 2023-03-22
  • 2011-12-01
相关资源
最近更新 更多