对于其他正在寻找这方面信息的人......到目前为止,我已经让 SQL Express 2008 与在 PHP 5.2 下运行的 MDB2 一起工作。
我还没有尝试连接到远程服务器:到目前为止,我只连接到在 localhost 上运行的 SQL Express。
我不确定我使用的 PHP 是否附带 php_mssql.dll 扩展名:无论哪种方式,我都禁用了它。相反,我使用了从http://docs.moodle.org/en/Installing_MSSQL_for_PHP上的链接下载的 php_dblib.dll 。这个库是 FreeTDS 的构建(来自 freetds.org)。我还没有对它进行任何重大测试,但我可以连接到它,一位同事告诉我,他们在它方面取得了“实际”成功。
php_dblib.dll 为 php_mssql.dll 提供的 mssql_* 函数提供“替换”函数。因此,您需要在启用 php_dblib.dll 之前禁用 php_mssql.dll 扩展。
其他需要注意的小事:
1) 虽然大多数关于 SQL Express 和 PHP 的文档都声明您必须在数据库连接信息的主机部分中包含“实例”名称,但我发现这对我不起作用:事实上,我必须明确删除“\SQLEXPRESS”。
2) 虽然上面的 Moodle 链接提供了 php_dblib.dll 的 PHP 5.3 构建,但不幸的是它们是用 VC9 构建的。我安装的 PHP 5.3 是用 VC6 构建的,所以我仍在为 PHP 5.3 构建我自己的 php_dblib.dll。
无论如何,我希望这可以帮助遇到同样问题的人。