2011-09-14 55 views
0

我使用sqlsrv擴展連接到使用PHP的MSSQL(我認爲是2005)數據庫。我使用的是64位Windows 7機器,XAMPP,PHP 5.3.5和sqlsrv加載時沒有提供任何錯誤,當XAMPP啓動和MSSQL查詢都很好。它顯示在phpinfo()下。php_sqlsrv.dll:檢查PHP版本時出錯,但擴展工作

我遇到的唯一問題是當我輸入「php -v」來檢查命令行中的版本時。它說

PHP Startup: Unable to load dynamic library '.../php/ext/php_sqlsrv_53_ts_vc6.dll' (thread-safe and VB 6) 

即使文件存在。我正在閱讀也許這是一個版本問題(奇怪的內部工程雖然?)。用於PHP的SQL驅動程序僅在32位版本中可用(從2010年的MS論壇上的一篇文章中可以看出),並且如果您想自己創建64位版本,則看起來存在一些編譯錯誤。我不熟悉將PHP編譯爲.dll文件。任何人都可以預見到這個問題嗎?正如我所說的,現在它正在爲SELECT,DELETE和UPDATE MSSQL查詢工作。 TIA爲您的投入!

回答

0

由於PHP 5.3,微軟在Windows中的一個新的驅動程序:

http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

也許你可以試試這個版本,這似乎相當最近(06/2011)

希望幫助!

編輯:顯然,您需要使用PDO才能正常工作。這是你的情況嗎?

+0

這是我現在使用的版本。我正在使用非PDO版本。什麼是PDO?只有非PDO適用於我。 – musicliftsme

+0

PDO是PHP的數據庫抽象層。它是數據庫訪問的標準OO接口,適用於大多數驅動程序。看到這裏:http://php.net/manual/en/book.pdo.php。對於你的擴展問題,這個問題可能與你的php.ini有關。 web和cli可執行文件是否使用相同的php.ini文件?也可能有編譯問題(我不是Windows專家,但似乎有具體的要求,具體取決於你的PHP版本和目標拱:https://wiki.php.net/internals/windows/compiler希望導致你到一個解決! –