2013-03-29 103 views
6

我已經看過很多這些帖子,並且已經查看了所有這些帖子,但仍然無法運行SQLSRV擴展。你能幫我嗎?我將發佈的所有信息,我有如下:在WAMP上爲PHP安裝SQLSRV擴展

  • 的Windows 7 64位
  • WampServer 2.2 32位
  • PHP 5.4.3 32位
  • 的Apache 2.2.22(不能告訴我們,如果VC6或者VC9)
  • 的Microsoft SQL Server 2012 Native Client的64位

我下載SQLSRV30.exe。我將dll文件解壓到C:\ wamp \ bin \ php \ php5.4.3 \ ext。

在我的php.ini:

  • 下extension_dir = 「C:/wamp/bin/php/php5.4.3/ext/」
  • 延長= php_sqlsrv_54_ts.dll
  • extension = php_pdo_sqlsrv_54_ts.dll

我知道SQLSRV30.exe是內置爲32位的。這就是爲什麼我有32位版本的Wamp和PHP。我也知道Wamp中沒有任何東西是非線程安全的。
如果我查看phpinfo()我應該看到一個'sqlsrv'部分,但我目前沒有。

我在做什麼錯?

+0

請參閱:http://docs.gurock.com/testrail-admin/howto-installing-sqlsrv – Arvind

+0

您的引用鏈接和我的情況之間的差異:我使用Apache而不是IIS。我相信我正在使用線程安全版本的PHP而不是非線程安全的,但我怎麼能確定?總之,從Microsoft的SQLSRV PHP擴展下載頁面沒有名爲php_sqlsrv.dll的文件。有許多不同版本的sqlsrv文件,所有這些文件都適用於非線程安全與線程安全,PHP 5.3.x與PHP 5.4.x以及VC6與VC9之類的各種版本。我在這裏找到了下載頁面:http://www.microsoft.com/en-us/download/details.aspx?id=20098 – user1971193

+0

你可以通過查看php文件夾來判斷它是否是ts(線程安全的)。 TS安裝使用php5ts.dll,其中非ts使用php5.dll。 – Wranorn

回答

2

今天早上我遇到了一些麻煩,但是我發現我有一個x64 WampServer ......哪個不能正常工作。

因此,我重新安裝了一個x86 WampServer,並遵循了我在PHP.net上找到的所有內容(http://php.net/manual/en/sqlsrv.requirements.php)。因爲我看到了這個帖子,而我一直在尋找我的x64解決方案,我想我會回來,並盡力幫助你。

1)如果你有PHP 5.4#上WAMP,我敢打賭,它的TS,VC9

2)找到正確的'php.ini':我不在'bin/php#'文件夾中,而是在'bin/apache#'文件夾中(C:\ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini)

3)有2個SQLSRV驅動程序版本,2.0和3.0,確保你有3.0!

從外觀上看,我們有完全一樣的Wamp版本,所以......我敢肯定你必須使用'php_sqlsrv_54_ts.dll'和'php_pdo_sqlsrv_54_ts.dll'。

4

如果您正在編輯c:\wamp\bin\php\php.ini,請不要編輯該文件,只需編輯wamp server php.ini文件給出的文件,然後轉到php服務器,然後php.ini然後您就可以編寫ini文件。

我有同樣的問題,這固定了我。

此外,還要確保你右鍵點擊WAMP快捷方式,「以管理員身份運行」

+0

我沒有意識到我必須以管理員身份運行WAMP - 必須是一個重要的步驟。 –

1

你看到你的新的DLL在你的PHP擴展列表?如果是這樣,點擊它,並確保它的名字有一個V. (左鍵單擊希望綠色WAMP符號PHP - > PHP擴展 - >您的DLL的名稱)

我與PHP 5.5,SQLSRV31.exe,php_sqlsrv_55_nts.dll和php_sqlsrv_55_ts.dll類似的問題。奇蹟般地工作。

+0

也驗證擴展名顯示在phpinfo()中。使用WAMP,單擊狀態欄中的綠色W,單擊localhost,然後單擊phpinfo() –