Azure

Azure 應用服務 Kudu 將 MySql 添加到 PATH

  • January 2, 2019

我正在嘗試為 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。

希望這可以幫助將來遇到類似問題的其他人。

引用自:https://serverfault.com/questions/892343