SQLSRV PHP для SQL Server for не является допустимым приложением Win32

Вот моя настройка

  • Windows Server 2008 R2 64 бит
  • Apache 2.4.4 64 бит
  • PHP 5.4.15 32 бит (64 бит все еще экспериментальный), потокобезопасный, компилятор VC9
  • Корпоративный клиент Microsoft SQL Server 2012 64-разрядный
  • Microsoft Visual С++ 2010 x86 и x64

Мне нужно загрузить библиотеку Microsoft SQLSRV.

Я добавил 'extension = php_sqlsrv_54_ts.dll' в php.ini и скопировал 'php_sqlsrv_54_ts.dll' в папку ext, где установлен PHP.

Когда я перезапускаю 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

Я не знаю, помогает ли он, но я использовал все 32-разрядные данные на своей 64-битной системе Windows 7.

Вот что я использовал, и я могу использовать 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

Я помню, что это была правильная боль, чтобы заставить его работать, но теперь это происходит. Если я больше помню, я отредактирую свой ответ

UPDATE:

Я думаю, что это сообщение в блоге выглядит знакомым по поводу того, как я получил работу

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

Ответ 2

У меня была такая же проблема. Запуск устаревшего 5.6 php x64, которому нужен интерфейс из-за жестких ограничений RAM 32 бит.

Решение было в неустановленном драйвере, предлагаемом Rob.

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

Я тестировал его, и он работает правильно с 5.6.33 x64

Ответ 3

в настоящее время Microsoft sqldriver работает только для 32-битной версии php. Вот мои шаги по установке SQL-драйверов.

  • установить 32-битный сервер Wamp ниже configuratoin Apache: 2.4.9 MySQL: 5.6.17 PHP: 5.5.12 PHPMyAdmin: 4.1.14 SqlBuddy: 1.3.3 XDebug: 2.2.5 установлен http://www.microsoft.com/en-us/download/details.aspx?id=20098 3.2 драйверы установили драйвер odbc.

Ответ 4

Sqlsrv работает с 32-битным PHP, не поддерживающим потоки, с клиентом Sql Native.