Я пытался заставить работать PDO SQLSRV (в Windows Server 2012 R2) некоторое время и нашел инструкции о том, как я должен установитьЭто так, что драйверы загружаются при запуске PHP, но он не работает.
Я нашел правильный файл php.ini (и проверил, закомментировав некоторые другие драйверы PDO, чтобы убедиться).Я добавил соответствующую строку в конце [ExtensionList]
следующим образом:
extension=php_pdo_sqlsrv_7_ts_x64.dll
Я добавил несколько таких, но ничего не работает.Я проверил это, запустив скрипт с phpinfo()
, чтобы показать мне, что происходит.Список расширений выглядит так:
[ExtensionList]
; extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
; extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll
extension=php_pdo_sqlsrv_7_ts_x64.dll
extension=php_sqlsrv_7_ts_x64.dll
extension=php_pdo_sqlsrv_7_nts_x64.dll
extension=php_sqlsrv_7_nts_x64.dll
extension=php_pdo_sqlsrv_72_ts_x64.dll
extension=php_sqlsrv_72_ts_x64.dll
extension=php_pdo_sqlsrv_72_nts_x64.dll
extension=php_sqlsrv_72_nts_x64.dll
extension=php_pdo_sqlsrv_72_ts.dll
extension=php_sqlsrv_72_ts.dll
Так что под PDO должны быть mysql
и sqlsrv
, но я вижу только mysql
.
Я что-то упустил?
Обновление
Я попытался обновить файл php.ini, чтобы у него был полный путь к ним.расширения, по-прежнему не имеют никакого значения.
Архитектура = x64, Потокобезопасность = отключена, Версия PHP = 7.2.2, Драйвер ODBC для Microsoft 17 для SQL Server
Обновление II
Я попытался удалить все ссылки, кроме 2, которые мне нужны, и дал им полные пути к каталогам:
[ExtensionList]
; extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
; extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension="C:\Program Files\PHP\v7.2\ext\php_pdo_sqlsrv_72_nts_x64.dll"
extension="C:\Program Files\PHP\v7.2\ext\php_pdo_sqlsrv_7_nts_x64.dll"
extension=php_pdo_sqlsrv.dll
extension=php_imap.dll
extension=php_tidy.dll
Я все еще не могу заставить работать SQL SRV, этопо-прежнему не отображается в распечатке PHPInfo.
Есть ли еще какие-либо предложения по поводу того, что я могу попробовать?
ОБНОВЛЕНИЕ
Вчера я переустановилPHP 7.2 (теперь версия 7.2.6) с здесь .И переустановил Microsoft Drivers 5.2 для PHP для SQL Server с здесь .И обновил мой файл php.ini следующим образом:
[ExtensionList]
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_xmlrpc.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_imap.dll
extension=php_tidy.dll
extension=php_pdo_sqlsrv.dll
extension="C:\Program Files\PHP\v7.2\ext\php_pdo_sqlite.dll"
; extension=php_pdo_mysql.dll
extension=php_mysqli.dll
Чтобы посмотреть, поможет ли это или что-то изменит.php_pdo_sqlsrv.dll
все еще не загружается, затем php_pdo_sqlite.dll
загрузился, и они оба находятся в той же папке, что и php_mysqli.dll, который также загружен.Я следовал инструкциям, которые нашел здесь , и, похоже, ничего не работает для загрузки этой библиотеки SQL SRV.