Azure
Azure 應用服務 Kudu 將 MySql 添加到 PATH
我正在嘗試為 Drupal8 設置 Drush9。我能夠使用站點擴展安裝並執行我的站點以安裝 composer 和 Drupal 安裝程序,但現在有一個 Drupal 更新,我希望能夠通過 Azure 應用服務 Kudu cmd 控制台執行更新(
$$ AppName $$.scm.azurewebsites.net). 我正在遵循Drupal 更新指南,並且能夠使用 composer 更新 Drupal 文件,但
drush updb
由於 mysql 未註冊到 PATH,drush 數據庫更新()失敗。我嘗試執行
SETX PATH "D:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe"
mysql.exe 所在的位置,但訪問被拒絕。有沒有其他人成功地將 exe 添加到 PATH,或者有任何其他方法。
謝謝
您可以為您的網路應用添加應用設置,如下所示:
然後,重新啟動您的 Web 應用程序,在 Kudu 控制台中,您可以檢查它。
此外,您可以通過XDT 轉換(XML 文件轉換)來實現這一點。
看到這個 問題。
事實證明,因為我還安裝了作曲家站點擴展,它有自己的
applicationHost.xdt
覆蓋根級別或導致衝突。我最終創建了一個
D:\home\site\applicationHost.xdt
包含以下內容的文件:<?xml version="1.0"?> <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> <system.webServer> <runtime xdt:Transform="InsertIfMissing"> <environmentVariables xdt:Transform="InsertIfMissing"> <add name="PATH" value="%PATH%;%HOME%\SiteExtensions\ComposerExtension\Commands;%APPDATA%\Composer\vendor\bin;d:\Program Files\MySQL\MySQL Server 5.1\bin" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" /> <add name="PATH" value="%PATH%;%HOME%\SiteExtensions\ComposerExtension\Commands;%APPDATA%\Composer\vendor\bin;d:\Program Files\MySQL\MySQL Server 5.1\bin" xdt:Locator="Match(name)" xdt:Transform="Replace" /> </environmentVariables> </runtime> </system.webServer> </configuration>
這既保留了 Composer 添加的環境變數內容,又允許我使用新目錄擴展 PATH。
希望這可以幫助將來遇到類似問題的其他人。