Мне нужно установить демо-версию PHP-приложения, которое используетДрайвер SQL Server для PHP. Сервер — старая машина, на которой установлен Windows 2000 Server SP4. Я установил весь стек без проблем:
- Апач 2.2.14
- PHP 5.3.1
- SQL Server 2005 Express Edition
- SQL Server Management Studio Express
Но есть компонент, который работает не так, как ожидалось:Собственный клиент SQL Server. Я получаю сообщение об ошибке, как только вызываю sqlsrv_connect(). Я нашел четыре разных релиза, и ни один не работает:
Если я не установлю его или установлю версию 2005 года:
- SQLSTATE: IMSSP
- код: -49
- сообщение: Драйверу SQL Server для PHP требуется драйвер SQL Server 2008 Native Client ODBC (SP1 или более поздней версии) для связи с SQL Server. Этот драйвер ODBC в настоящее время не установлен. Перейдите по следующему URL-адресу, чтобы загрузить драйвер SQL Server 2008 Native Client ODBC для x86:http://go.microsoft.com/fwlink/?LinkId=163712
Если я установлю версию 2008 года:
- SQLSTATE: IM003
- код: 160
- сообщение: Указанный драйвер не может быть загружен из-за системной ошибки 127 (SQL Server Native Client 10.0).
Theсистемные требования для драйвера SQL Server для PHP1.1 включает Windows 2000 Service Pack 4. Однакосистемные требования для SQL Server 2008 Native Clientупоминается Windows Server 2003 Service Pack 2 или выше.
Есть идеи?
решение1
Я не думаю, что SQL 2008 Native Client поддерживается в Windows 2000. Есть ли у вас система Windows 2003, на которую можно установить это приложение?
решение2
У меня есть дополнительная информация от Сербана Илиеску вофициальный форум:
При дальнейшем исследовании я обнаружил, что SQL Server Native Client 2008 (он же SNAC 10) не загружается в Windows 2000, поскольку некоторые зависимости dll не удовлетворяются операционной системой. В настоящее время зарегистрирован дефект в SNAC 10 для решения этой проблемы путем плавного понижения версии, но этот дефект еще предстоит устранить. Тем временем вы можете попробовать предыдущую версию драйвера PHP (т. е. версию 1.0), которая связана с SNAC 9 (SQL Server Native Client 2005), а SNAC 9 должен работать в Windows 9.
Подводить итоги:
- Драйвер SQL Server для PHP 1.1 требует SQL Server Native Client 2008
- В SQL Server Native Client 2008 есть известная ошибка, из-за которой он не загружается под Windows 2000
- SQL Server Native Client 2005 отлично работает под Windows 2000
- Драйвер SQL Server для PHP 1.0 требует только SQL Server Native Client 2005
Я установил старую версию драйвера PHP вместе с версией Native Client 2005 года. Мне также пришлось понизить версию PHP с 5.3 до 5.2.
Мое заявлениекажетсядля работы со старой версией драйвера PHP. Итак, демо наконец-то запущено и работает.