web-dev-qa-db-ja.com

AzureアプリサービスKuduがMySqlをPATHに追加

Drupal8用にDrush9をセットアップしようとしています。サイト拡張機能を使用してサイトを起動して実行し、composerおよびDrupalインストーラーをインストールできましたが、現在はDrupal更新し、AzureアプリサービスのKuduコマンドコンソール([AppName] .scm.azurewebsites.net)から更新を実行できるようにしたい。

Drupal更新ガイド に従っていて、composerを使用してDrupalファイルを更新できますが、mysqlが原因でdrushデータベースの更新(drush updb)が失敗しますPATHに登録されていません。

screenshot of error

Mysql.exeがある場所であるSETX PATH "D:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe"を実行しようとしましたが、アクセスが拒否されました。

他の誰かがPATHにexeを追加することに成功したか、または他のメソッドを持っていますか。

ありがとう

2
Jake

以下のように、Webアプリにアプリ設定を追加できます。

enter image description here

次に、Webアプリを再起動します。Kuduコンソールで確認できます。

enter image description here

また、 XDT Transform(XML Document Transform) を使用してこれを実現できます。

これを参照してください 質問

2
Shui shengbao

composerサイト拡張機能もインストールされているため、ルートレベル1をオーバーライドしたり、競合を引き起こしたりする独自の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を拡張できるようになります。

うまくいけば、これは将来同様の問題を抱えている他の誰かを助けるでしょう。

1
Jake

これを行うと、PowerShellのパスにmysqlクライアントを追加できます。

$MysqlClientVersion=(Get-ChildItem -Name "D:\Program Files (x86)\mysql\" | Select-String -Pattern "^[\d.]+$" | % { $_.Line }) $Env:PATH += ";D:\Program Files (x86)\mysql\$MysqlClientVersion\bin"

0
Roel Arents