Виждам, че сте използвали Azure WebApp за Windows, за да внедрите вашето PHP приложение с връзка с Azure SQL база данни от php_odbc.dll
.
Както знам, Azure WebApp за Windows има инсталирани няколко версии на PHP среда за изпълнение с много разширения, които включват PHP 7.3, който е под пътя D:\Program Files (x86)\PHP
като фигурата по-долу, и проверих php_odbc.dll
дали be съществува чрез Kudo конзола https://<your webapp name>.scm.azurewebsites.net/DebugConsole
![въведете описание на изображението тук](https://i.stack.imgur.com/C5XQX.png)
След това се преместих на v7.3
, за да видя файла php.ini
, за да проверя дали разширението php_odbc.dll
е активирано.
![въведете описание на изображението тук](https://i.stack.imgur.com/IhrIR.png)
![въведете описание на изображението тук](https://i.stack.imgur.com/a2Dd1.png)
Както на фигурата по-горе, можете да видите, че няма php_odbc
декларирано в php.ini
, така че не е активирано по подразбиране. И Azure регулира всички файлове и директории под D:\
(с изключение на D:\home
), които не могат да бъдат променяни от клиентите, така че опитът за редактиране на php.ini
, за да се активира php_odbc
, ще доведе до проблем с грешка.
![въведете описание на изображението тук](https://i.stack.imgur.com/YBIEJ.png)
Така че решението е да се обърнете към раздела How to: Enable extensions in the default PHP runtime
от официалния документ Configure PHP in Azure App Service
като фигурата по-долу, за да активирате съществуващо разширение по подразбиране.
![въведете описание на изображението тук](https://i.stack.imgur.com/gbl3I.png)
По подразбиране може да няма директория с име 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 страница отново.
person
Peter Pan
schedule
20.01.2020