เดอะ แอพ. รูท มีการเพิ่มพารามิเตอร์ใน Drupal 9 เพื่อแทนที่ แอพ. รูท บริการ. หากคุณใช้ Drupal 8 ข้อผิดพลาดนั้นอาจเกิดจาก:
- โมดูลที่ระบุว่าเข้ากันได้กับ Drupal 8 และ Drupal 9 ซึ่งมีรหัสเข้าถึง แอพ. รูท พารามิเตอร์คอนเทนเนอร์เมื่อทำงานบน Drupal 8
- รหัสอื่นที่พยายามเข้าถึง แอพ. รูท พารามิเตอร์คอนเทนเนอร์เมื่อทำงานบน Drupal 8
สิ่งนี้อาจเกิดขึ้นได้เนื่องจาก:
- หนึ่งในข้อโต้แย้งสำหรับบริการคือ
'%app.root%'
(ซึ่งต้องใช้พารามิเตอร์คอนเทนเนอร์) แทน '@app.root'
(ซึ่งต้องใช้บริการที่มีอยู่ใน Drupal 8.x)
- มีรหัสที่ใช้
$container->getParameter('app.root')
แทน $container->get('app.root')
- มีรหัสที่ใช้ตรวจสอบว่าจะใช้ แอพ. รูท คอนเทนเนอร์พารามิเตอร์หรือ แอพ. รูท บริการแต่ใช้งานไม่ได้
หากต้องการทำความเข้าใจว่ารหัสใดทำให้เกิดข้อผิดพลาด การค้นหาก็เพียงพอแล้ว %app.root% หรือ ->getParameter('app.root'). ค้นหา แอพ. รูท ไม่เพียงพอ เนื่องจากจะส่งคืนบรรทัดใดๆ ที่ใช้ the อย่างถูกต้อง แอพ. รูท บริการ.
[Symfony 5] แทนที่บริการสตริง app.root และ site.path ด้วยพารามิเตอร์คอนเทนเนอร์แล้ว ถูกสร้างขึ้นเมื่อวันที่ 13 สิงหาคม 2019 และทำเครื่องหมายเป็นแก้ไขแล้วในวันที่ 23 ธันวาคม 2020 (โปรแกรมแก้ไขนี้เปิดใช้งานบน Drupal 9.x เมื่อวันที่ 5 มีนาคม 2020)
Drupal Console 1.9.4 (เผยแพร่เมื่อวันที่ 11 พฤศจิกายน 2019) ไม่ควรมีรหัสที่เข้าถึง แอพ. รูท พารามิเตอร์คอนเทนเนอร์ เนื่องจาก Drupal core ไม่มีแม้แต่พารามิเตอร์คอนเทนเนอร์เมื่อเปิดตัว Drupal Console 1.9.4