
ปัญหา
เมื่อเร็ว ๆ นี้, สนใจที่จะดูวิธีการ มิดเดิลแวร์ ทำงาน, ผมทำการติดตั้ง “Zend แสดงโครงกระดูก” เป็นคำแนะนำ “เริ่มแบบรวดเร็ว: ใช้โครงกระดูก + โปรแกรมติดตั้ง”:
$ สร้างนักแต่งเพลง-โครงการ zendframework/Zend-ไวน์-แสดงโครงกระดูก |
หลังจากนี้, การตรวจสอบผล, ฉันเข้าถึงเบราว์เซอร์ที่อยู่ http://localhost/ไวน์/สาธารณะ / และมีข้อผิดพลาดต่อไปนี้:
ดารา! นี่คือความอึดอัดใจ. เราพบการ 404 ไม่พบข้อผิดพลาด. คุณกำลังมองหา มี บางสิ่งบางอย่างได้' t มีอยู่ หรืออาจย้าย. ตรวจสอบการเชื่อมโยงบนเพจนี้อย่างใดอย่างหนึ่ง หรือหัวกลับไปบ้าน. |
วิธีการแก้ไขปัญหา
ข้อผิดพลาดบ่งชี้ว่า ไม่พบหน้า, ดังนั้น, มันดูเหมือนมีปัญหาเส้นทาง (วิธี) สำหรับแฟ้มของโปรแกรมประยุกต์.
มีลักษณะใกล้เคียง, ผมมาถึงข้อสรุปที่ว่า นี้เกิดขึ้นเนื่องจากไม่ได้สร้างโครงการในไดเรกทอรีรากของสิ่งพิมพ์โดยตรง (เช่น: www/htdocs /), แต่ ในไดเรกทอรีย่อย, วิธีการที่: http://localhost /ไวน์/สาธารณะ /.
อย่างไรก็ตาม, มันดูเหมือนว่าการ ไวน์ มีปัญหาใด ๆ กับ เยี่ยมชม / เส้นทางพื้นฐาน. ในความเป็นจริงต้องเป็นสถาปัตยกรรมมากของ Zend Framework ไดเรกทอรีสั่งเผยแพร่ “สาธารณะ /“, มากดังนั้น ว่าถ้าคุณเรียกใช้เซิร์ฟเวอร์เว็บที่ชี้ไป “สาธารณะ /“, โปรแกรมประยุกต์ทำงานได้ตามปกติ.
เรียกใช้คำสั่ง “PHP-S 0.0.0.0:8080 -ประชาชน t /” โดยเทอร์มินัล (คำสั่ง):
เทย์เลอร์@ MINGW64 เทย์เลอร์ pc/c/wamp64/www/ไวน์ $ PHP-S 0.0.0.0:8080 -t public/ PHP 7.0.10 พัฒนาเซิร์ฟเวอร์เริ่มต้นที่อ.ส.ค. 10 15:55:00 2017 ฟังบน http://0.0.0.0:8080 C เป็นรากของเอกสาร:\wamp64\www\expressive\public Press Ctrl-C to quit. [พฤ.ส.ค. 10 15:55:34 2017] 127.0.0.1:65106 [404]: /ไวน์/สาธารณะ / |
ใช่ตอนนี้, การทำเช่นนี้คุณสามารถเข้าถึง http://localhost/ไวน์/สาธารณะ / โดยไม่มีข้อผิดพลาดใด ๆ.
แต่ไม่ได้อยู่ในจุดนี้ตลอดเวลาที่จะ “สาธารณะ /“, มีมิดเดิลแวร์ ลอส/basepath เป็นวิธีการแก้ปัญหารูปร่าง. ติดตั้งง่าย:
$ นักแต่งเพลง จำเป็นต้อง ลอส/บาเบส |
หลังจากนี้, เพียงแค่เพิ่มมิดเดิลแวร์เป็นหนึ่งในคนแรกในโปรแกรมของคุณ. ตัวอย่างเช่น, ฉันใส่สายในไฟล์ “ในประเทศ”, หลังจาก “$App” ถูกบูต:
1 | $App->ท่อ(ใหม่ \LosMiddlewareBasePathBasePath("/)); |
นั่นมัน!
อ้าง อิง
– เข้าถึง/path/to/สาธารณะมี 404 หน้า
– มิดเดิลแวร์เส้นทางฐานสำหรับ PHP
ค่ามาก! ช่วยชี้แจงปัญหานี่ที่คล้ายกันมาก. ขอบคุณ!