SQLSRV PHP for SQL Server for 不是有效的 Win32 应用程序

2022-08-31 01:04:59

这是我的设置

  • 视窗服务器 2008 R2 64 位
  • Apache 2.4.4 64 位
  • PHP 5.4.15 32位(64位仍在实验中),线程安全,VC9编译器
  • Microsoft SQL Server 2012 Native Client 64 位
  • 微软视觉C++ 2010 x86 和 x64

我需要加载微软的SQLSRV库。

我已经将'extension=php_sqlsrv_54_ts.dll'添加到php.ini并将'php_sqlsrv_54_ts.dll'复制到安装PHP的ext文件夹中。

当我重新启动apache时,我在php错误日志中收到以下错误,并且SQLSRV未在phpinfo中列出。

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,但错误保持不变:(


答案 1

我不知道它是否有帮助,但我在我的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


答案 2

我有同样的问题。运行传统的5.6 php x64,由于32位给出的硬RAM限制,因此需要接口。

解决方案是在Rob提供的非官方驱动程序中。

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

我测试了它,它可以在5.6.33 x64下正常工作


推荐