Я хотел настроить подключение к базе данных с PHP на SQL-сервер 2012. У меня есть сервер wamp (64-разрядный), установленный на компьютере с Windows (64-разрядный) с PHP 5.5.12 и на том же компьютере, на котором установлен SQL Server 2012.
Извлеченные драйверы sqlsrv из официальной ссылки
Скопировали извлеченные драйверы php_sqlsrv_55_ts.dll, extension = php_pdo_sqlsrv_55_ts.dll
в папку php\ext
, а затем изменил файл php.ini, чтобы включить расширения
extension = php_sqlsrv_55_ts.dll; extension = php_pdo_sqlsrv_55_ts.dll;
Теперь я попробовал
<?php phpinfo(); ?>
Я вижу следующую информацию без какой-либо информации SQL-сервера.
Кажется, не настроили соединение SQL-сервера успешно. Может кто-нибудь, пожалуйста, назовите меня тем, чего я здесь не вижу.
64-битный WAMP-сервер не смог подключиться с помощью расширения драйверов = php_sqlsrv_55_ts.dll; extension = php_pdo_sqlsrv_55_ts.dll;
Итак, я установил 32-разрядную версию WAMP-сервера, и теперь он отлично работает.
Проверьте журнал ошибок php (c: \ wamp \ logs \ php_error.log). У меня была такая же настройка (64-битная WAMP / PHP 5.5.12) и то же самое отсутствие ссылки sqlsrv в phpinfo, и я получил эту ошибку в моем журнале:
PHP Предупреждение: запуск PHP: невозможно загрузить динамическую библиотеку c: /wamp/bin/php/php5.5.12/ext/php_pdo_sqlsrv_55_ts.dll '-% 1 не является допустимым приложением Win32. в Unknown в строке 0
Решением было установить 64-битную версию драйверов sqlsrv. Я нашел неофициальные 64-битные драйверы через http://robsphp.blogspot.nl/2012/06/unofficial-microsoft-sql-server-driver.html
Предупреждение. В моем тестировании я обнаружил, что это 64-битное расширение PHP_PDO_SQLSRV в 10 раз медленнее, чем при использовании PHP_PDO_ODBC.
Я посещаю этот поток, и я думаю, что это может помочь вам и другим с той же проблемой: как я могу установить pdo_sqlsrv на мои окна 2008 Server 2008 R2?
Расширение PDO не совпадает с внутренним драйвером, предлагаемым Microsoft. Для PDO вы должны включить
extension = php_pdo_mssql.dll в вашем php.ini.
{Обычно этот файл (php_pdo_mssql.dll) должен находиться в вашем PHP-расширении-каталоге (C: … \ php \ ext). Если его нет, вы можете загрузить PHP из http://windows.php.net/download/ и просто взять расширение из пакета там (возьмите тот, который соответствует вашей версии PHP, конечно)}.
Выше взяты из PDO MSSQL Server. Драйвер не найден для более подробной информации. У меня такая же проблема, как и у Linux, и я сохранил все страницы, поэтому я цитирую для вас помощь.
если все выше не работало для вас, тогда:
На php.net указано, что
В Windows PDO_ODBC по умолчанию встроен в ядро PHP. Он связан с диспетчером драйверов Windows ODBC, чтобы PHP мог подключаться к любой базе данных, каталогизированной как системный DSN, и является рекомендуемым драйвером для подключения к базам данных Microsoft SQL Server. http://php.net/manual/en/ref.pdo-odbc.php
Вы можете подключиться к mssql-серверу с помощью драйверов odbc, поскольку я никогда не подключаюсь сам по себе из окон, которые я использую для этого, используя linux с помощью freeTds, следующие страницы могут помочь вам