Drupal8用にDrush9をセットアップしようとしています。サイト拡張機能を使用してサイトを起動して実行し、composerおよびDrupalインストーラーをインストールできましたが、現在はDrupal更新し、AzureアプリサービスのKuduコマンドコンソール([AppName] .scm.azurewebsites.net)から更新を実行できるようにしたい。
Drupal更新ガイド に従っていて、composerを使用してDrupalファイルを更新できますが、mysqlが原因でdrushデータベースの更新(drush updb
)が失敗しますPATHに登録されていません。
Mysql.exeがある場所であるSETX PATH "D:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe"
を実行しようとしましたが、アクセスが拒否されました。
他の誰かがPATHにexeを追加することに成功したか、または他のメソッドを持っていますか。
ありがとう
以下のように、Webアプリにアプリ設定を追加できます。
次に、Webアプリを再起動します。Kuduコンソールで確認できます。
また、 XDT Transform(XML Document Transform) を使用してこれを実現できます。
これを参照してください 質問 。
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を拡張できるようになります。
うまくいけば、これは将来同様の問題を抱えている他の誰かを助けるでしょう。
これを行うと、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"