কোনও স্থানীয় ভ্যাগ্র্যান্ট বাক্সের জন্য আপনি কীভাবে কোনও ড্রশ ওরফে লিখবেন?


9

স্থানীয় ভ্যাগ্র্যান্ট দৃষ্টান্তে চলমান একটি দ্রুপাল সাইটের সাথে সংযোগের জন্য আমি একটি সাধারণ ড্রাশ ওরফে লেখার চেষ্টা করছি।

নামক একটি ফাইলে আমার নিম্নলিখিতটি রয়েছে ~/.drush/l.aliases.drushrc.php:

$aliases['o'] = array(
  'parent' => 'l',
  'root' => '/vagrant/docroot',
  'remote-host' => '127.0.0.1',
  'remote-user' => 'vagrant',
  'ssh-options' => '-p 2222 -i ~/.vagrant.d/insecure_private_key',
  'uri' => '127.0.0.1:8080',
);

ওরফে পাওয়া গেছে। drush saআয়:

l
l.o

যাইহোক, আমি যখন drush @l.o statusএটি দূরবর্তী হোস্টের সাথে সংযুক্ত না হই :

PHP executable        :  /usr/local/bin/php
PHP configuration     :  /usr/local/etc/php/5.3/php.ini
PHP OS                :  Darwin
Drush version         :  6.1.0
Drush configuration   :

আমি নিশ্চিত হয়েছি যে এই কমান্ডটি সফলভাবে যোগ্রের সাথে সংযোগ স্থাপন করেছে:

ssh vagrant@127.0.0.1 -p 2222 -i ~/.vagrant.d/insecure_private_key

ডিবাগিং আউটপুট একটি এসএসএইচ কমান্ড প্রদর্শন করে না যতক্ষণ না আমি বলতে পারি:

SIG-106:ilob justin$ drush --debug @l.o status
Bootstrap to phase 0. [0 sec, 3.78 MB]                               [bootstrap]
Drush bootstrap phase : _drush_bootstrap_drush() [0.01 sec, 3.98 MB] [bootstrap]
Loaded alias @l.o from file /Users/justin/.drush/l.aliases.drushrc.php [0.01 sec, 3.99 MB]                                                                        [notice]
Cache MISS cid: 6.1.0-commandfiles-0-807b6772846e18b2741e8d5b7119b4cc [0.01 sec, 4 MB]                                                                             [debug]
Cache SET cid: 6.1.0-commandfiles-0-807b6772846e18b2741e8d5b7119b4cc [0.01 sec, 4.02 MB]                                                                           [debug]
Bootstrap to phase 0. [0.05 sec, 9.56 MB]                                                                                                                      [bootstrap]
Found command: core-status (commandfile=core) [0.08 sec, 9.56 MB]                                                                                              [bootstrap]
Loading outputformat engine. [0.13 sec, 9.6 MB]                                                                                                                   [notice]
Calling hook drush_core_status [0.14 sec, 9.65 MB]                                                                                                                 [debug]
Returned from hook drush_core_status [0.14 sec, 9.66 MB]

আমি জানি আমি অবশ্যই বোকা কিছু করব কিন্তু আমি এটি দেখতে পাচ্ছি না।


কি drush --debug @l.o statusদেখায়? সঠিক ssh কমান্ড আউটপুট মধ্যে সমাহিত করা উচিত।
এমপিডোনাদিও

এফডব্লিউআইডাব্লু, আমি ড্রশ বিকল্পগুলির পরিবর্তে এসএসএইচ সংযোগ তথ্য সেটআপ করার জন্য সর্বদা .ssh / কনফিগারেশন ব্যবহার করি।
এমপিডোনাদিও

হুম, ডিবাগ আউটপুটটিতে কোনও ধরণের কোনও ssh কমান্ড নেই। ডিবাগ উপরে যুক্ত করা হয়েছে।
জাস্টিন

অন্যান্য নন-ভ্যাগ্র্যান্ট, তবে রিমোট, এলিয়াসগুলি কী কাজ করে? আপনি যে ডিবাগ পোস্ট করেছেন তা দেখায় যে এটি রিমোট সংযোগটিও চেষ্টা করে নি (আপনি 'লাইনগুলি' ইনভোক প্রসেসের মাধ্যমে পুনর্নির্মাণ শুরু করতে 'এবং' ব্যাকএন্ড আহ্বান:
এসএস

হ্যাঁ, আমার অনেক আছে এবং তারা সবাই করে।
জাস্টিন

উত্তর:


6

আমি নিম্নলিখিত কনফিগারেশনের সাথে ড্রশ ওরফে ব্যবহার করতে সক্ষম হয়েছি:

আসুন দুটি জিনিস ধরে নেওয়া যাক:

  • ভ্যাগ্র্যান্ট বাক্সে কিছু ধরণের স্ট্যাটিক আইপি রয়েছে (এটি ব্যক্তিগত হতে পারে, উদাহরণস্বরূপ: 192.168.56.101)

  • ভ্যাগ্র্যান্টের আইপি প্রতীকী আকারে উপলব্ধ (উদাহরণস্বরূপ, আমাদের আইপি এবং হোস্টনামের সাথে / ইত্যাদি / হোস্টগুলিতে একক লাইন রয়েছে)। (উদাহরণস্বরূপ: test.site.local)।

পদক্ষেপ 1: আমাদের সেটিংস অনুলিপি করা দরকার, যিনি ভিজেন্ট এসএস-কনফিগার কমান্ড দ্বারা উত্পন্ন generated হোম / .এসএসএইচ / কনফিগারেশনে

Host test.site.local
    IdentitiesOnly yes
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    PasswordAuthentication no
    IdentityFile [path to vagrant private insecure key]

পদক্ষেপ 2: এই জাতীয় কনফিগারেশন সহ, আমার উরফ নিম্নলিখিত আকারে ছিল:

$aliases['example'] = array(
   'root' => '/var/www',
   'uri' => 'test.site.local',
   'remote-host' => 'test.site.local',
   'remote-user' => 'vagrant',
   'ssh-options' => "-i path_to_insecure_private_key"
);

এটি একটি দুর্দান্ত সমাধান। আমি "উগ্রান্ট এসএস-কনফিগারেশন" ব্যবহার করে আমার ওরফে ফাইলে কোনও এসএস-অপশন নির্দিষ্ট করতে পারি নি, আমার যা কিছু প্রয়োজন ছিল তা সেখানে ছিল।
রাগান ড্যান

এটি দুর্দান্তভাবে কাজ করেছে, যদিও আমার ক্ষেত্রে আমাকে এর মতো রুট সেট করতে হয়েছিল: 'রুট' => '/ ভ্যাগ্রান্ট / ডক্রোট'
ওগনোকোক্যাটেন

ব্যবহার /dev/nullএকটি সতর্কবার্তা পরিচিত hosts ফাইলের ফলাফল প্রত্যেক সময় drush চালানো হয় হিসাবে। আমি এটি HOME/.ssh/known_hosts_vagrantএকটি পৃথক ফাইল ব্যবহার করার জন্য নির্দেশ করছি । তারপরে সতর্কতাটি কেবল একবার প্রদর্শিত হবে।
টিম

3

চরিত্রটি ~বাশ দ্বারা প্রসারিত হয়েছে। ড্রাশ এই একই পরিষেবা সরবরাহ করে না, সুতরাং ~আপনার নিজের ডিরেক্টরি ডিরেক্টরিতে পথটি প্রতিস্থাপন করা উচিত ।

সুতরাং, উদাহরণস্বরূপ:

$home = drush_server_home();
$aliases['o'] = array(
  'parent' => 'l',
  'root' => '/vagrant/docroot',
  'remote-host' => '127.0.0.1',
  'remote-user' => 'vagrant',
  'ssh-options' => "-p 2222 -i $home/.vagrant.d/insecure_private_key",
  'uri' => '127.0.0.1:8080',
);

এটি অনির্ধারিত, তবে এটি কোনও সাধারণ টাইপ টাইপ করে কাজ করা উচিত।

হালনাগাদ:

আমি মনে করি আমি এখানে একটি ড্রশ বাগ দেখছি। ড্রাশ ধরে নিচ্ছে যে 127.0.0.1 লোকাল মেশিনে ফিরে যাচ্ছে, এবং ssh- অপশনগুলিতে -p এর প্রভাবগুলি বিবেচনা করেও ssh w / আউট ব্যবহার না করার সিদ্ধান্ত নেবে। এটি ঠিক করতে ড্রাশের প্যাচ প্রয়োজন। function drush_is_local_host()মধ্যে environment.inc

গিথব এ ইস্যু:

গিথুব ইস্যুতে সম্ভাব্য সংশোধন সম্পর্কিত কোনও মন্তব্য দয়া করে রাখুন, স্থানীয় বনাম রিমোটের সিদ্ধান্ত নেওয়ার সময় ড্রাশ ব্যাকএন্ডের আহ্বান পোর্ট নম্বর বিবেচনা করে না


কাজ হয়নি। তবে আমি drush_server_home () সম্পর্কে জানতাম না। ধন্যবাদ! আমি ঝামেলা করছি।
জাস্টিন


3

আমি আমার স্থানীয় সেটিংস.পিএফপি ফাইলের মাধ্যমে ড্রাশের জন্য কেবল চেক করে php_sapi_name() == 'cli'আমার ডেটাবেস এবং মেমক্যাস সংযোগের স্ট্রিংগুলিকে ভ্যাগ্রেন্টে আপডেট করে এই বিষয়টি পেয়েছি:

if (php_sapi_name() == 'cli') {
  $databases['default']['default']['port'] = '3307';

  $conf['memcache_servers'] = array(
    '127.0.0.1:11212' => 'default',
  );
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.