Score:1

ข้อผิดพลาดร้ายแรงของ PHP: Uncaught ArgumentCountError ในการเรียกใช้ Drush

ธง jp

หลังจากที่ฉันอัปเดตไซต์ของฉันเป็น Drupal 8.9.16 และ Drush เป็น 10.5.0 ฉันได้รับข้อผิดพลาดดังต่อไปนี้ ข้อผิดพลาดร้ายแรงของ PHP: Uncaught ArgumentCountError: มีอาร์กิวเมนต์น้อยเกินไปที่จะทำงาน เมื่อเรียกใช้คำสั่ง Drush ใดๆ สิ่งนี้เกิดขึ้นเฉพาะในไซต์ระยะไกลของฉัน ไม่ใช่ไซต์ในพื้นที่ของฉัน

ไซต์ยังใช้งานได้ดี ดังนั้นฉันจึงสามารถล้างแคชและอัปเดตฐานข้อมูลจากส่วนหลังของ Drupal ได้ ฉันหวังว่าสิ่งนี้จะแก้ไขปัญหาได้ แต่ก็ไม่ได้ ฉันค้นหาวิธีแก้ไขด้วย แต่ไม่มีหัวข้อใดที่ฉันพบเลยที่แก้ปัญหาได้ถูกต้อง

หวังว่าหนึ่งในพวกคุณจะเข้าใจความหมายของข้อผิดพลาดนี้ดีขึ้น และสามารถช่วยเราแก้ไขได้

ข้อความแสดงข้อผิดพลาดทั้งหมดคือ:

ข้อผิดพลาดร้ายแรงของ PHP: Uncaught ArgumentCountError: อาร์กิวเมนต์น้อยเกินไปสำหรับฟังก์ชัน Drush\Application::configureAndRegisterCommands(), 3 ผ่านใน /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php ในบรรทัดที่ 113 และ 4 ที่คาดไว้ใน /home/user/domains/domain.com/vendor/drush/drush/src/Application.php:313
การติดตามสแต็ก:
#0 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(113): Drush\Application->configureAndRegisterCommands(Object(Drush\Symfony\DrushArgvInput), Object( Symfony\Component\Console\Output\ConsoleOutput), อาร์เรย์)
#1 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(49): Drush\Runtime\Runtime->doRun(อาร์เรย์, วัตถุ(Symfony\Component\Console \เอาต์พุต\คอนโซลเอาต์พุต))
#2 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(อาร์เรย์)
#3 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush(4): ต้องการ('/home/deb ใน /home/user/domains/domain.com/vendor/drush/drush /src/Application.php ที่บรรทัด 313
ข้อผิดพลาดร้ายแรง: Uncaught ArgumentCountError: มีอาร์กิวเมนต์น้อยเกินไปสำหรับฟังก์ชัน Drush\Application::configureAndRegisterCommands(), 3 ผ่านใน /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php บน บรรทัดที่ 113 และ 4 ที่คาดหวังใน /home/user/domains/domain.com/vendor/drush/drush/src/Application.php:313
การติดตามสแต็ก:
#0 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(113): Drush\Application->configureAndRegisterCommands(Object(Drush\Symfony\DrushArgvInput), Object( Symfony\Component\Console\Output\ConsoleOutput), อาร์เรย์)
#1 /home/user/domains/domain.com/public_html/vendor/drush/drush/src/Runtime/Runtime.php(49): Drush\Runtime\Runtime->doRun(อาร์เรย์, วัตถุ(Symfony\Component\Console \เอาต์พุต\คอนโซลเอาต์พุต))
#2 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush.php(72): Drush\Runtime\Runtime->run(อาร์เรย์)
#3 /home/user/domains/domain.com/public_html/vendor/drush/drush/drush(4): ต้องการ('/home/deb ใน /home/user/domains/domain.com/vendor/drush/drush /src/Application.php ที่บรรทัด 313
Score:0
ธง cg

ฉันมีปัญหาเดียวกันมาก่อนและ นี้ ช่วยฉันด้วย

Drush 10 เปลี่ยนคำจำกัดความของบริการบางอย่าง และก่อนที่จะมีการแคชคอนเทนเนอร์ Drupal DI ก่อนการปรับปรุงตัวแต่ง การเรียกใช้ drush ครั้งต่อไปทำให้เกิดข้อผิดพลาดในการสร้างบริการ เนื่องจากคอนเทนเนอร์ที่แคชไว้มีข้อกำหนดบริการเก่า

วิธีแก้ไขคือทำความสะอาดตาราง cache_container (หรือที่อื่นที่เก็บแคชของคอนเทนเนอร์) อย่างไรก็ตาม อย่างที่กล่าวไปแล้วว่าสิ่งนี้ทำให้เกิดความรู้สึกไม่สบาย เพราะก่อนที่จะใช้ drush ที่ปรับใช้ในที่ใดที่หนึ่ง คุณต้องดูแลการล้างแคชนั้นด้วยวิธีอัตโนมัติ และไม่สามารถปัดเองได้ มันไม่สามารถเป็นอย่างนั้นได้ drush sqlq "ตัดตาราง cache_container" หรือ drush sql-เชื่อมต่อ และแบบสอบถาม SQL

หวังว่าจะได้ทำงานให้คุณเช่นกัน

Joost avatar
jp flag
ใช่ฉันพบหัวข้อนี้ และฉันตัดทอนตารางโดยใช้ phpmyadmin แต่สิ่งนี้ไม่ได้แก้ปัญหา หรือฉันเข้าใจผิดว่าฉันควรทำอย่างไรเพื่อแก้ปัญหานี้?
Yuseferi avatar
cg flag
@จูสท์. ใช้ดรัชเวอร์ชั่นอะไรคะ? และคุณวิ่งดรัชในเส้นทางที่ถูกต้องหรือไม่? `อะไร `สถานะ drush` ส่งกลับให้คุณ?
Joost avatar
jp flag
สวัสดี ฉันใช้ Drush 10.5.0 และใช่ ฉันอยู่ในโฟลเดอร์ที่ถูกต้องเมื่อเรียกใช้ drush สถานะ Drush ยังส่งกลับข้อผิดพลาด
hotwebmatter avatar
nr flag
@Joost คุณแก้ไขปัญหาแล้วหรือยัง การล้างแคชและการตัดตารางไม่ได้ผลในกรณีของฉัน แต่ฉันได้แบ่งปันวิธีการอื่นที่ช่วยแก้ปัญหาให้ฉันได้
Yuseferi avatar
cg flag
@hotwebmatter ทำไม downvote ในขณะที่มันช่วยให้สองสามคนพบว่ามันมีประโยชน์?
hotwebmatter avatar
nr flag
ไม่รู้ว่าทำไมมีคนลงคะแนนนี้ ไม่ใช่ฉัน; อันที่จริงฉันโหวตแล้ว!
Score:0
ธง nr

ฉันเพิ่งมีปัญหานี้แน่นอน ในกรณีของฉัน มันเกิดจากการทำซ้ำ ผู้ขาย ไดเร็กทอรีหลังจากจัดระเบียบโครงการใหม่เพื่อให้เป็นไปตามโครงร่างโครงการที่แนะนำ

ฉันมีใหม่ ./ผู้ขาย/ ไดเร็กทอรีในรูทโปรเจ็กต์ แต่ฉันยังมีอันเก่าด้วย ./docroot/vendor/ ไดเร็กทอรีในรูทเอกสาร (โครงการของฉันโฮสต์บน Acquia คุณอาจต้องตรวจสอบไฟล์ ./web/vendor/ ไดเรกทอรีแทน)

เพื่อแก้ไขปัญหานี้ ให้ลองลบไดเร็กทอรีที่ซ้ำกันออกจาก ./docroot/vendor/ (หรือ ./web/vendor/) ยอมรับการเปลี่ยนแปลงกับ repo git ของคุณ และนำการเปลี่ยนแปลงโค้ดไปใช้ในสภาพแวดล้อมอัปสตรีม

ที่ทำเพื่อฉัน!

โพสต์คำตอบ

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