Score:0

จะระบุไฟล์ setup.php สำหรับ drush ได้อย่างไร?

ธง in

ฉันใช้ Drupal 9 และ Drush 11 ฉันมีสองโฮสต์ โฮสต์หนึ่งสำหรับการทดสอบในเครื่อง (www.en9-local.pglitz.com) และเซิร์ฟเวอร์ที่ใช้งานจริงระยะไกล (www.electronovelty.com).

เมื่อฉันเรียกใช้สถานะ drush จากโฮสต์เหล่านี้ ฉันเห็นเส้นทางของไซต์ถูกตั้งค่าเป็นไซต์/ค่าเริ่มต้น ฉันจะบอก drush ได้อย่างไรว่าจะใช้ settings.php ใด ฉันลองใช้อาร์กิวเมนต์ uri บนบรรทัดคำสั่ง พบเส้นทางของไซต์ที่ถูกต้อง แต่ยังให้ข้อผิดพลาด:

สถานะ drush % --uri=www.electronovelty.com
sh: 1: ^www.en9-local.pglatz.com$: ไม่พบ
sh: 1: ^www.electronovelty.com$: ไม่พบ
...

ตามหลักการแล้ว จะไม่เกี่ยวข้องกับการแก้ไขไฟล์บนรีโมตโฮสต์ แต่ตั้งค่าด้วยอาร์กิวเมนต์บรรทัด cmd ตัวแปร env หรือการตั้งค่าอื่นๆ นอกการติดตั้ง Drupal

leymannx avatar
ne flag
I don't understand the question. Is this a multi-site? After you configured site aliases for Drush, you move into your local project dir and execute `drush cr` to clear your local site's cache and `drush @myalias cr` to clear your remote site's cache. If this is not a multi-site, settings.php always resides in sites/default dir. If this is a multi-site and you have another settings.php in sites/subsite dir for example, execute `drush cr -l subsite` to execute your local subsite's instance cache.
leymannx avatar
ne flag
Maybe you are confused that Drush is not installed globally anymore? Drush nowadays only supports one install method: As a local dependency of a Composer-based site. However, you can easily write your own Shell alias to achieve what you want, receiving some argument to then take that and `cd` into the right local directory before executing a Drush command there, and maybe a second argument for the corresponding remote alias. And I think Drush still takes the `--root` option to point to a certain dir on your local, doesn't it?
leymannx avatar
ne flag
That's `-l` then. `drush cr -l www.en9-local.pglatz.com` and `drush cr -l www.electronovelty.com`. (Although I'm not sure if this setup is a good idea in general.)
pglatz avatar
in flag
The problem I have is the site has a local and production version. I use the same codebase on both, and a settings file under sites for each, to point to the correct database (sites/www.en9-local.pglatz.com/settings.php, sites/www.electronovelty.com/settings.php). The sites run fine, but drush always uses sites/default/settings.php and I need a way to tell drush which settings file to use. Adding --uri to the drush command line results in the sh: errors above, as does using a site alias. I don't run drush on the remote site from my local, but do run it from the remote site itself.
leymannx avatar
ne flag
Telling you this the third time now ---> Use `-l`. Like `drush cr -l www.en9-local.pglatz.com`.
pglatz avatar
in flag
Thanks, I've tried it, and as I mentioned, I see an error before the command (successfully) executes: % drush cr -l www.en9-local.pglatz.com sh: ^www.en9-local.pglatz.com$: command not found [success] Cache rebuild complete.
Hodba Khalaf avatar
eg flag
คำสั่งที่ควรใช้กับคุณคือ "drush @www.en9-local.pglatz.com cr" คุณต้องใช้ชื่อไดเร็กทอรีภายใต้โฟลเดอร์ไซต์
pglatz avatar
in flag
@HodbaKhalaf ขอบคุณ แต่เมื่อฉันป้อน `drush @www.en9-local.pglatz.com cr` ฉันไม่ได้รับ `Command "@www.en9-local.pglatz.com" ไม่ได้กำหนด` -- ไม่ใช่สิ่งนี้ สัญลักษณ์แทนไซต์? ฉันต้องป้อนข้อมูลใน self.site.yml เพื่อให้ใช้งานได้หรือไม่ ฉันลองแล้ว แต่ได้รับข้อผิดพลาดเดียวกัน
Hodba Khalaf avatar
eg flag
ฉันคิดว่าอาจมีบางอย่างผิดปกติกับการติดตั้ง Drush พยายาม. เพื่อเข้าไปในโฟลเดอร์ไซต์ "cd sites/www.en9-local.pglatz.com" แล้วรันคำสั่ง drush จากที่นั่น หากไม่ได้ผลให้ลองติดตั้ง drush ใหม่โดยใช้ผู้แต่ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา