Я ищу решение уже 2 дня. Я получаю следующий эффект:
array(2) {
[0] => array(6) {
[0] => string(5) "IMSSP"
["SQLSTATE"] => string(5) "IMSSP"
[1] => int(-49)
["code"] => int(-49)
[2] => string(390) "This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712"
["message"] => string(390) "This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712"
}
[1] => array(6) {
[0] => string(5) "IM002"
["SQLSTATE"] => string(5) "IM002"
[1] => int(0)
["code"] => int(0)
[2] => string(91) "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
["message"] => string(91) "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
}
}
Похоже, что нет "собственного клиента Microsoft SQL Server 2008 R2", но есть!
Я уже использовал ту же конфигурацию на своем локальном компьютере и тестовом сервере.
Я получал ту же ошибку на локальном компьютере, когда не было установлено «собственного клиента Microsoft SQL Server 2008 R2». После установки проблема была решена.
К сожалению, здесь я не вижу никаких изменений.
Я пробовал разные драйверы PHP и sqlsrv, но это не имело никакого эффекта.
Я не могу много экспериментировать, потому что это живой сервер.
Как я могу заставить это работать? Это как-то связано с настройками ODBC панели управления? Там также установлен другой собственный клиент, но я не могу удалить его с этого живого сервера.
Как читать эту информацию? Драйвер php sqlsrv видит родной клиент вообще?
Редактировать
Проблема в том, что я использую все в 32 бит. Родной драйвер также отображается на панели управления ODBC. Расширение Sqlsrv для PHP также работает, как показано в phpinfo.
Как это возможно, что расширение sqlsrv для PHP не "видит" этот собственный клиент?
Я бессилен, и сейчас я настраиваю ВМ, где я установлю точно такую же конфигурацию, как на веб-сервере, и проведу более смелые эксперименты.