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\
у меня
Внутри \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-драйверов.
Ответ 4
Sqlsrv работает с 32-битным PHP, не поддерживающим потоки, с клиентом Sql Native.