Включить PHP расширение (php_odb c .dll) на Azure - PullRequest
1 голос
/ 18 января 2020

Я начал работать с Azure и тестировал подключение к базе данных Microsoft SQL. Я хотел бы использовать наше текущее расширение php_odb c .dll вместо использования подхода PDO.

  $query = "SELECT * FROM TABLE ";          
  //perform the query 
  $result=odbc_exec($conn, $query); 

Я выполнил шаги по добавлению расширения, настроив его через Настройки приложения и настроив через настройки ini. В обоих случаях моя главная страница индекса выдает ошибку 500. Мой основной индекс. php включает только phpinfo (); функция для тестирования.

https://docs.microsoft.com/bs-latn-ba/azure/app-service/web-sites-php-configure#configure -via-app-setting

Вопрос: Как включить php_odb c .dll ext на Azure? PHP версия составляет 7,3

1 Ответ

3 голосов
/ 20 января 2020

Я вижу, вы использовали Azure WebApp для Windows для развертывания приложения PHP с Azure SQL подключением к базе данных php_odbc.dll.

Как я знаю, Azure WebApp для Windows было установлено несколько версий PHP runtime со многими расширениями, включая PHP 7.3, который находится под путем D:\Program Files (x86)\PHP, как показано на рисунке ниже, и я проверил php_odbc.dll, существует ли через консоль Kudo https://<your webapp name>.scm.azurewebsites.net/DebugConsole

enter image description here

Затем я перешел на v7.3, чтобы просмотреть файл php.ini, чтобы проверить, включено ли расширение php_odbc.dll.

enter image description here

enter image description here

Как видно из рисунка выше, php_odbc не объявлено в php.ini, поэтому он не включен по умолчанию. И Azure регулирует все файлы и каталоги в D:\ (кроме D:\home), которые не могут быть изменены клиентами, поэтому попытка изменить php.ini для включения php_odbc вызовет ошибку.

enter image description here

Таким образом, решение состоит в том, чтобы обратиться к разделу How to: Enable extensions in the default PHP runtime официального документа Configure PHP in Azure App Service, как показано на рисунке ниже, чтобы включить существующий по умолчанию расширение.

enter image description here

По умолчанию может отсутствовать каталог с именем ini в пути D:\home\site, который необходимо создать самостоятельно, а затем создать файл с именем 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 WebApp вы можете попробовать PHP страница снова.

...