Я вижу, что вы использовали Azure WebApp для Windows для развертывания своего PHP-приложения с подключением к базе данных SQL Azure с помощью php_odbc.dll
.
Насколько мне известно, в Azure WebApp для Windows было установлено несколько версий среды выполнения PHP со многими расширениями, в том числе PHP 7.3, который находится по пути D:\Program Files (x86)\PHP
, как показано на рисунке ниже, и я проверил php_odbc.dll
, существует ли он через консоль Kudo https://<your webapp name>.scm.azurewebsites.net/DebugConsole
Затем я перешел к v7.3
, чтобы просмотреть файл php.ini
, чтобы проверить, включено ли расширение php_odbc.dll
.
Как видно из рисунка выше, в php.ini
не объявлено php_odbc
, поэтому по умолчанию оно не включено. И Azure регулирует все файлы и каталоги в D:\
(кроме D:\home
), которые не могут быть изменены клиентами, поэтому попытка изменить php.ini
, чтобы включить php_odbc
, вызовет ошибку.
Таким образом, решение состоит в том, чтобы обратиться к разделу How to: Enable extensions in the default PHP runtime
официального документа Configure PHP in Azure App Service
, как показано на рисунке ниже, чтобы включить существующее расширение по умолчанию.
По умолчанию в пути D:\home\site
может отсутствовать каталог с именем ini
, который необходимо создать самостоятельно, а затем создать под ним файл с именем extensions.ini
и отредактировать его, добавив имя расширения или абсолютный путь php_odbc
.
; Enable Extensions
extension=php_odbc
; Or use its absoluted path, such as for 32bit platform
; extension=D:\Program Files (x86)\PHP\v7.3\ext\php_odbc.dll
После перезапуска веб-приложения Azure вы можете снова попробовать свою страницу PHP.
person
Peter Pan
schedule
20.01.2020