2013-09-25 199 views
1

我想让PHP加载一些扩展(用于PHP PDO的sqlsrv驱动程序)。 我正在使用一个wamp服务器,使用PHP 5.4,Apache 2.4.4。PHP加载扩展错误

在我的php.ini文件,我已经进入下面一行:

extension_dir = C:\wamp\bin\php\php5.4.16\ext 
... 
extension=php_pdo_sqlsrv_54.nts.dll 

然而在Apache的错误日志,每当我重新启动Apache服务,我得到错误信息:

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/wamp/bin/php/php5.4.16/ext/php_pdo_sqlsrv_54_nts.dll' - The specified module could not be found.\r\n in Unknown on line 0 

现在,我知道一个事实,这个错误是不正确的。如果我直接从错误日志中复制文件位置(C:\ wamp \ bin \ php \ php5.4.16 \ ext \ php_pdo_sqlsrv_54_nts.dll)并将其粘贴到Windows资源管理器中,它会发现文件正常。

我已将ext目录添加到windows PATH环境变量中,仍然没有成功。

任何想法接下来要尝试什么? 谢谢

+0

当您在启动时右键单击wamp图标并导航到PHP,Extension时会看到什么?你能看到带有刻度标记的扩展名中的php_pdo吗? – Vineesh

+0

你有没有看过你的phpinfo(),以确认它使用正确的PHP来确保你只有一个安装的PHP是 –

+0

@VineeshPoduval扩展名被打勾,但它仍然会出现相同的'无法加载动态库'错误:( –

回答

1

你的问题是,你正试图运行一个NTS'不是线程安全的'DLL与'线程安全'的PHP,所以最初尝试下载sqlsrv DLL的线程安全版本。

BIG注意,可能你的下一个问题的解决方案:

据我所知SQLSERVER数据库接口的dll只能作为32位。所以,如果你已经安装了64位WAMPServer,你将不得不卸载并安装32位WAMPServer。

+0

对不起,迟到的接受!我已经安装了64位wampserver,并且发现sqlsrv驱动程序只有32位(很烦人!!),我暂时搁置了它,并且会当我有更多的耐心时再试试! –