我需要在一台机器上启用 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 驱动程序,所以这似乎解决了我的问题。它也能用!
但我毫不怀疑,有一天它会在内部深处,在一些模糊而复杂的功能上发生故障。