Я пытаюсь настроить Drush9 для Drupal8. Мне удалось запустить и запустить свой сайт, используя расширения сайта для установки композитора и установщика Drupal, но теперь есть обновление Drupal, и я хочу иметь возможность выполнить обновление через консоль Kudu cmd службы приложений Azure ([AppName ] .scm.azurewebsites.net).
Я слежу за Руководство по обновлению Drupal и я могу обновлять файлы Drupal с помощью композитора, но обновление базы данных drush (drush updb
) не работает из-за того, что mysql не зарегистрирован в PATH.
Я пробовал бежать SETX PATH "D:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe"
где находится mysql.exe, но в доступе отказано.
Кто-нибудь еще добился успеха, добавив exe в PATH или какие-либо другие методы.
Спасибо
Вы можете добавить настройки приложения в свое веб-приложение, как показано ниже:
Затем перезапустите свое веб-приложение в консоли Kudu, вы можете проверить это.
Кроме того, вы можете добиться этого с помощью XDT Transform (преобразование 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 с новым каталогом.
Надеюсь, это поможет кому-то еще с аналогичной проблемой в будущем.
Вы можете сделать это, чтобы добавить клиент mysql к пути в PowerShell:
$MysqlClientVersion=(Get-ChildItem -Name "D:\Program Files (x86)\mysql\" | Select-String -Pattern "^[\d.]+$" | % { $_.Line })
$Env:PATH += ";D:\Program Files (x86)\mysql\$MysqlClientVersion\bin"