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
Спасибо!
1 answers
Я подозреваю, что раньше это было правдой, но это больше не так, начиная с PHP/7.x, по крайней мере, в официальных двоичных файлах Windows. Теперь определенно есть"ext/php_odbc.dll "файл, который необходимо загрузить - и строка должна быть добавлена, так как она еще не закомментирована в шаблонах:
extension=php_odbc.dll
Я сообщил об этом как о проблеме с документацией, и это было исправлено два часа спустя. PHP/7.1.16 и PHP/7.2.5 уже включают исправление.