Можно ли управлять Drupal, работающим на сервере Windows, с помощью drush в Linux с помощью подключения Samba?


Я пытался настроить drush на своем рабочем столе Linux (далее называемый клиентом) для управления удаленным сайтом Drupal, работающим в Windows, с помощью XAMPP (далее называемый сервером).

Корневой каталог Drupal на удаленном сервере монтируется через Samba на клиенте в этом расположении : /path/to/remote/server1/drupal

Я использую следующий псевдоним drush:

$aliases['drupalserver1'] = array(
  'root' => '/path/to/remote/server1/drupal',
  #'remote-host' => 'drupalserver1.mydomain',
  #'remote-user' => 'myuser',
  'uri' => 'http://drupalserver1.mydomain',
  'os' => 'Windows',
);

Теперь, как я понимаю, это говорит drush, что это локальная установка Drupal, а не удаленная с тех пор как я ушел, прокомментировал записи remote-host и remote-user.

Затем Drush считывает файл settings.php на сервере (через монтирование samba на моем клиенте), в котором указывается drupalserver1.mydomain (а не localhost) и необходимые другие конфигурации.

Подключение к базе данных успешно, как и загрузка:

 Site URI                        :  http://drupalserver1.mydomain                                                                         
 Database driver                 :  mysql                                                                                                
 Database hostname               :  drupalserver1.mydomain                                                                                
 Database username               :  root                                                                                                 
 Database name                   :  drupal                                                                                               
 Database                        :  Connected                                                                                            
 Drupal bootstrap                :  Successful                                                                                           
 Drupal user                     :  Anonymous                                                                                              
 Default theme                   :  acquia_marina                                                                                        
 Administration theme            :  seven                                                                                                
 PHP configuration               :  /etc/php5/cli/php.ini /home/myuser/.drush/php.ini                                                    
 Drush version                   :  5.9                                                                                                  
 Drush configuration             :                                                                                                       
 Drush alias files               :  /home/myuser/.drush/examples_example.aliases.drushrc.php /home/myuser/.drush/myorg.aliases.drushrc.php 
 Drupal root                     :  /path/to/remote/server1/drupal                                                                    
 Site path                       :  sites/default                                                                                        
 File directory path             :  sites/default/files                                                                                  
 Temporary file directory path   :  C:\xampp\tmp 

Теперь и файлы Drupal (/путь/к/удаленному/server1/drupal), и база данных mysql размещены на компьютере с Windows, поэтому использование 'os' => 'Windows' в псевдониме имеет смысл. Я даже задаюсь вопросом, является ли эта строка даже учтено, так как remote_host не используется.

Есть ли надежда, что конфигурация, которую я предлагаю, вообще работает?

Использование Drupal 7.

 1
Author: Vincent L, 2014-05-05

1 answers

В вашем случае, 'os' => 'Linux'. Эта переменная указывает Drush, как выполнять такие действия, как экранирование пути к файловой системе. Как вы и предполагали, эта переменная в основном используется во время удаленных вызовов, но я полагаю, что на нее иногда можно ссылаться при построении команд, которые используются локально.

Я никогда не пытался настроить Drush так, как вы описали выше; теоретически это должно быть возможно, если вы можете подключиться к базе данных, но у вас могут возникнуть некоторые проблемы. Публиковать проблемы в очереди на устранение неполадок если вы обнаружите ошибки. PR с исправлениями будут особенно приветствоваться.

 1
Author: greg_1_anderson, 2014-05-05 14:35:07