PHP 7 - Поддержка ODBC встроена... или это так?


Стандартный файл php.ini для php 7 объявляет в комментарии:

"Обратите внимание, что поддержка ODBC встроена, поэтому для нее не требуется библиотека DLL".

Однако в нескольких строках ниже есть:

Extension=php_odbc.dll

...и этот файл включен в каталог ext.

Мы поддерживаем приложения с различными версиями php, и я заметил, что более старые версии не включают расширение в свои соответствующие файлы .ini или.dll в их внешние каталоги, но подключение к odbc работает так, как указано в комментариях к файлу .ini.

В php 7, если я удалю расширение в ini-файле или физически перемещу/удалю.dll-файл и попробуйте запустить, я получаю:

Неустранимая ошибка: Неперехваченная ошибка: Вызов неопределенной функции odbc_connect()

Вопрос: действительно ли в php 7 "встроена" поддержка odbc, как утверждает ini-файл? Если да, то почему он ведет себя таким образом, когда более старые версии ведут себя по-другому? Если нет, то почему ini-файл утверждает, что это так, и где документация, подтверждающая обратное?

Версия PHP: 7.1.1

ОПЕРАЦИОННАЯ система: 64-разрядная корпоративная Windows 10

Спасибо!

Author: AS7K, 2018-01-25

1 answers

Я подозреваю, что раньше это было правдой, но это больше не так, начиная с PHP/7.x, по крайней мере, в официальных двоичных файлах Windows. Теперь определенно есть"ext/php_odbc.dll "файл, который необходимо загрузить - и строка должна быть добавлена, так как она еще не закомментирована в шаблонах:

extension=php_odbc.dll

Я сообщил об этом как о проблеме с документацией, и это было исправлено два часа спустя. PHP/7.1.16 и PHP/7.2.5 уже включают исправление.

 1
Author: Álvaro González, 2018-04-26 11:59:10