什么是连接到MS SQL 2000/2005的正确的PHPconfiguration?

我有很多服务器在Windows 2003 / IIS6上使用FastCGI运行PHP 5.2.6(非线程安全构build) 。

我有一些问题连接到MS SQL 2000/2005(MySQL连接工作正常,ASP / ASP.NET脚本也可以成功连接到MS SQL)。 一个解决schemebuild议将SQL客户端工具ntwdblib.dll文件复制到PHP扩展文件夹或在Web服务器上安装所有SQL客户端工具(我不愿意这样做)。

build议的另一个解决scheme是使用PHP的Microsoft SQL Server 2005驱动程序 。 这看起来不错,写绿地的应用程序,但对于应用程序,如phpBBS或WordPress这似乎并没有工作。

例如,以下脚本:

 <?php $host = "mssqlhost"; $user = "phpbb2"; $password = "phpbb2"; $connect_sql_server = mssql_connect($host, $user, $password); ?> 

失败:

PHP警告:mssql_connect()[function.mssql-connect]:无法连接到服务器:mssqlhost在第6行E:\ AppsDev.NET_UK_Minds \ phpSqlNC \ www \ test.php

目标是允许PHP脚本连接到运行在不同服务器上的SQL 2000和SQL 2005。 我还应该补充说,升级到更高版本的PHP目前不是一个选项。

在Windows 2003 / IIS6上configurationPHP以连接到SQL 2000/2005的正确方法是什么?

Solutions Collecting From Web of "什么是连接到MS SQL 2000/2005的正确的PHPconfiguration?"

尝试各种“解决方案”后,事实证明,只需更换PHP可执行文件夹中的ntwdblib.dll文件即可解决问题。

没有必要安装任何SQL本机客户端SQL客户端工具PHP的Microsoft SQL server 2005驱动程序 ,尽可能多的死胡同建议。

所有需要做的是确保将ntwdblib.dll版本2000.80.2039.0放入c:\php文件夹(或者安装/解压缩到PHP的任何地方),然后重置IIS。 PHP文档建议将ntwdblib.dll复制到%SYSTEMROOT%\ System32不起作用,他们还建议这只会支持命名管道,这也是错误的。

我还没有试图看看ntwdblib.dll的更高版本ntwdblib.dll工作,但2000.80.2039.0适合我。

不是一个真正的答案,但更有用的信息…

最新的php 5.2.X附带的ntwdblib.dll(2000.2.8.0)版本在Apache和MSSQL(2008)上效果很好。 我有一个从2000.80.XX版本的DLL的副本,它比PHP自带的更新。 我不知道这是否会变得更好。

“mssql_”函数不包含在官方的msft php mssql驱动程序中。 他们已经改变了他们不同的命名惯例。 (“sqlsrv_”)你发布的链接是版本1.0,但他们已经在版本1.1。 “mssql_”函数要求存在ntwdblib.dll。

Apache 2.2.14 / PHP 5.2.12 / MS-SQL 2008集成

  • 下载Apache 2.2.14 for Windows Installer软件包2008 32位httpd DOT apache DOT org / download.cgi – > apache_2.2.14-win32-x86-no_ssl
  • 遵循安装Apache时的默认值
  • 停止Apache 2.2服务

  • 下载PHP 5.2.12用于Windows 2008的Windows Zip包32位; (PHP用作Apache模块所需的VC6线程安全版本)。

windows DOT php DOT net / download / – > php-5.2.12-Win32-VC6-x86.zip – 将压缩包解压缩到C:\ PHP – 验证安装:C:\ PHP> php -v
– 设置环境变量PHPRC = C:\ PHP – 将'C:\ PHP \ php.ini-recommended'重命名为'C:\ PHP \ php.ini' – 编辑C:\ PHP \ php,ini文件:

 modify: extension_dir = "C:\PHP\ext" uncomment: extension=php_mssql.dll 
  • 将下面的行添加到“C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ conf \ httpd.conf”

     PHPIniDir "C:/PHP/" Loadmodulee php5_module "C:/PHP/php5apache2_2.dll" AddHandler application/x-httpd-php .php 
  • 将下面的行添加到“C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ conf \ mime.types”

     application/x-httpd-php php application/x-httpd-php-source phps 
  • 确保包含内容的phpinfo.php文件位于文件夹C:\ Program Files \ Apache Software Foundation \ Apache2.2 \ htdocs

  • 启动Apache 2.2服务

  • 验证Apache / PHP集成: http://localhost/phpinfo.php – >'PHP Version 5.2.12'info show
  • 验证mssql模块是否被加载:c:\ php \ php -m

所有作品都像魅力一样…不需要额外的步骤。