是否可以在 php 5.3 上加载 PHP_MSSQL.dll?

是否可以在 php 5.3 上加载 PHP_MSSQL.dll?

我需要在一台机器上启用 mssql_connect 函数,并且想加载比 5.2.x 更新的 php 发行版

有谁知道是否可以Windows 7(x64)使用某种方式将该驱动程序加载到盒子上php 5.3 VC9

通过谷歌搜索,我相信这是可能的,但显而易见的是,

[PhP_MSSQL(EXPERIMENTAL!!)]
extension=php_mssql.dll

包含在 php.ini 文件中只会导致错误

PHP Startup: Unable to load dynamic library 
'C:\Program Files (x86)\PHP\ext\php_mssql.dll'
- The specified module could not be found.
in Unknown on line 0

包括 ntwdblib.dll 导致我出现此错误:

PHP Warning:  PHP Startup: mssql: Unable to initialize module
Module compiled with build ID=API20090626,TS,VC6
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match

答案1

问题的线索就在错误信息中:

PHP Warning:  PHP Startup: mssql: Unable to initialize module
Module compiled with build ID=API20090626,TS,VC6
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match                         <---- the reason

您正在运行使用 VC9 工具链构建的 PHP 版本。php_mssql.dll您拥有的 DLL 是使用 VC6 工具链构建的。

你不能混淆它们。

答案2

http://docs.moodle.org/20/en/Installing_MSSQL_for_PHP似乎有适用于 5.3 VC9 的 FreeTDS 驱动程序,所以这似乎解决了我的问题。它也能用!

但我毫不怀疑,有一天它会在内部深处,在一些模糊而复杂的功能上发生故障。

相关内容