Symfony Route ทำลายแถบเครื่องมือ Debug

หลังจากโหลด Twig-Template ของฉันโดย Controller และแสดงมัน - ใช้เวลาสักครู่และฉันได้รับข้อผิดพลาดนี้ปรากฏขึ้น: "เกิดข้อผิดพลาดขณะโหลดแถบเครื่องมือดีบักเว็บ (404: ไม่พบ)"

ตอนนี้ฉันค้นคว้ามาประมาณ 2 ชั่วโมงแล้วและไม่พบวิธีแก้ปัญหาที่เหมาะกับฉันเลย! ฉันพบ "สิ่ง" ที่ทำให้เกิดปัญหานี้ - เป็นเส้นทางต่อไปนี้:

showPage:
pattern: /{a}/{b}/{c}
defaults: { _controller: MyBundle:Page:show, a: null, b: null, c: / }
requirements:
    b: \d+
    c: .+

ฉันเปลี่ยนลำดับใน routing_dev.yml เพื่อให้ routing.yml จะถูกนำเข้าก่อน WDT เพื่อให้สามารถแทนที่ได้ - routing_dev.yml ดูเหมือนว่า:

_main:
    resource: routing.yml

_wdt:
    resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
    prefix:   /_wdt

_profiler:
    resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
    prefix:   /_profiler

_configurator:
    resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
    prefix:   /_configurator

ฉันใช้ Symfony-Version 2.5.0 ปัจจุบัน - ไฟล์ .htaccess เป็นไฟล์เริ่มต้นจาก Symfony2-Repo - เปิดใช้งาน mod_rewrite และ mod_alias แล้ว!

ถ้าฉันไปที่หน้าที่ไม่มีอยู่และ Symfony แจ้งว่าไม่พบเส้นทางสำหรับ "bla" - แถบเครื่องมือทำงานได้

คุณมีแนวคิดวิธีการยกเว้นสำหรับเส้นทาง WDT หรือไม่?


person nPoday    schedule 08.06.2014    source แหล่งที่มา
comment
คุณพยายามเรียกใช้คำสั่ง app/console router:debug & app/console router:match สิ่งเหล่านี้อาจให้เบาะแสแก่คุณ   -  person tawfekov    schedule 08.06.2014
comment
คุณลองนำเข้า _main ทรัพยากรของคุณ หลังจาก เส้นทางตัวสร้างโปรไฟล์ symfony หรือไม่   -  person Igor Pantović    schedule 08.06.2014
comment
@tawfekov ขอบคุณ - พบว่าเส้นทางนั้นใช้งานได้   -  person nPoday    schedule 09.06.2014
comment
@Igor หลังจากที่ฉันพบข้อผิดพลาดมันก็ทำงานในลักษณะนี้เช่นกัน (ฉันรีเซ็ตมันเพราะมันเป็นลำดับเริ่มต้นโดยการตั้งค่าโปรเจ็กต์จาก Symfony repo) มีความเป็นไปได้ที่จะเปิดใช้งานการรายงานข้อผิดพลาดบางประเภทไปยัง EventListener เพื่อดูว่ามีข้อผิดพลาดเกิดขึ้นหรือไม่ (ในกรณีของฉัน ฉันต้องการส่ง QueryBuilder-Object ไปยัง $dbalConnection-›fetchAll() ซึ่งเป็นไปไม่ได้เนื่องจากวิธีการนั้นต้องการ Query ให้เป็นสตริง   -  person nPoday    schedule 09.06.2014


คำตอบ (4)


ฉันคิดผิดว่ามันเป็นปัญหาเส้นทาง - ปัญหาที่เกิดขึ้นใน EventListener ซึ่งใช้ Doctrine DBAL QueryBuilder และพยายามส่ง Object ไปที่ "fetchAll" ของ DBAL-Connection

สาเหตุนี้ทำให้เกิดข้อผิดพลาด แต่ Symfony ไม่ได้บอกที่ใดเลยว่ามันแสดงเฉพาะไซต์ของฉันและบอกว่า 404 สำหรับ Debug-Toolbar

person nPoday    schedule 09.06.2014

เปิดไฟล์บันทึก app/logs/dev.log และค้นหาคำหลัก CRITICAL คุณจะพบ Fatal Error ที่ Symfony ตรวจไม่พบ ลองแก้ไขดูนะครับ

person Dos    schedule 18.11.2015

ไปงานปาร์ตี้ที่นี่สาย แต่ฉันเจอสถานการณ์เดียวกันและหาคำตอบได้ยากจริงๆ นั่นคือสิ่งที่ nPoday พูดที่นี่เมื่อวันที่ 9 มิถุนายน 2014: ฉันมีผู้ฟังที่กำลังส่งข้อผิดพลาดถึงแม้ว่ามันจะไม่เกี่ยวข้องกับหลักคำสอนก็ตาม มันเป็นปัญหากับ AWS wrapper ซึ่งไม่ได้ถูกเรียกใช้โดยแอปพลิเคชันเมื่อเริ่มต้นระบบหรือหน้าที่ฉันกำลังโหลดซึ่งแสดงปัญหา ตรวจสอบผู้ฟังของคุณอย่างแน่นอน ปิดการใช้งานทีละคน และคุณอาจพบว่าแถบเครื่องมือแก้ไขข้อบกพร่องเริ่มทำงานกะทันหัน

person Adam Bellas    schedule 17.03.2016

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

ในกรณีของฉัน มี "NOTICE: PHP message: PHP Fatal error: Access level to UserBundle\Entity\User::$id must be protected (as in class FOS\UserBundle\Model\User) or weaker in ..." เนื่องจาก id ของฉันเป็นแบบส่วนตัว

หลังจากแก้ไขแถบเครื่องมือนั้นก็ปรากฏขึ้นอีกครั้ง

person StrayObject    schedule 12.12.2016