簡體   English   中英

SQLSRV PHP for SQL Server for is not a valid Win32 application

[英]SQLSRV PHP for SQL Server for is not a valid Win32 application

這是我的設置

  • Windows Server 2008 R2 64 位
  • Apache 2.4.4 64 位
  • PHP 5.4.15 32 位(64 位仍處於試驗階段),線程安全,VC9 編譯器
  • Microsoft SQL Server 2012 本機客戶端 64 位
  • Microsoft Visual C++ 2010 x86 和 x64

我需要加載 Microsoft 的 SQLSRV 庫。

我已將“extension=php_sqlsrv_54_ts.dll”添加到 php.ini 並將“php_sqlsrv_54_ts.dll”復制到安裝 PHP 的 ext 文件夾中。

當我重新啟動 apache 時,我的 php 錯誤日志中出現以下錯誤,並且 phpinfo 中未列出 SQLSRV。

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\php5\ext\php_sqlsrv_54_ts.dll' - %1 is not a valid Win32 application.

我哪里錯了?

編輯出於測試目的,我剛剛安裝了 PHP 5.5.10 64 位和 VC 2012,但錯誤仍然相同:(

我不知道它是否有幫助,但我在 Windows 7 64 位系統上使用了所有 32 位

這是我使用的,我可以使用 SQL Server

httpd-2.4.6-win32-VC9 //apache 2.4
php-5.4.9-Win32-VC9-x86 //php5

里面如果我的\\php\\文件夾我有

  • php5apache2_4.dll

里面\\php\\ext\\我有

  • php_pdo_sqlsrv_54_nts.dll
  • php_pdo_sqlsrv_54_ts.dll

我將此添加到 php.ini 的末尾

[PHP_SQLSRV]
extension=php_sqlsrv_54_ts.dll
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_54_ts.dll

我記得讓它工作是一種正確的痛苦,但現在確實如此。 如果我再記得我會編輯我的答案

更新:

我認為這篇博文看起來很熟悉我是如何讓它工作的

http://robsphp.blogspot.co.uk/2012/09/how-to-install-microsofts-sql-server.html

當前 Microsoft sqldriver 僅適用於 32 位 php 版本。 這是我安裝sql驅動程序的步驟。

我遇到過同樣的問題。 運行舊版 5.6 php x64,由於 32 位給出了硬 RAM 限制,因此需要該接口。

解決方案是在 Rob 提供的非官方驅動程序中。

https://robsphp.blogspot.nl/2012/06/unofficial-microsoft-sql-server-driver.html

我測試了它,它在 5.6.33 x64 下正常工作

Sqlsrv 需要 php x86。 當 php 是 64 位架構時會出現此消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM