IIS ไม่แสดงข้อผิดพลาด PHP แบบละเอียด - แสดงข้อผิดพลาดเซิร์ฟเวอร์ 500 แทน


9

ฉันคุ้นเคยกับการให้บริการไซต์จาก Apache แต่ตอนนี้ฉันถูกบังคับให้ใช้เซิร์ฟเวอร์ IIS

หน้า PHP ของฉันจำนวนหนึ่งคืนข้อผิดพลาด 500 และฉันไม่สามารถดีบักได้เนื่องจาก IIS กำลังระงับข้อความแสดงข้อผิดพลาด ฉันได้ลองใช้ini_set('display_errors',1);โค้ด แต่ก็ไม่มีประโยชน์

มีข้อผิดพลาดปรากฏขึ้นในบางเว็บไซต์ แต่ไม่ใช่เฉพาะที่ฉันต้องการตรวจแก้จุดบกพร่องดังนั้นฉันจึงไม่คิดว่าเป็นการตั้งค่า PHP ทั่วโลก แต่เป็นสิ่งที่เกี่ยวข้องกับการตั้งค่าไซต์สำหรับไซต์นั้น

ฉันไม่พบคำตอบที่ชัดเจนเกี่ยวกับวิธีเปิดใช้งานข้อผิดพลาด PHP ที่แสดง

ฉันพบลิงค์นี้แล้วแต่ไม่แน่ใจว่าจะหา " system.webServer-> httpErrors " ได้ที่ไหน

ฉันจะเปิดใช้งานข้อผิดพลาดการแสดงใน PHP ภายใต้ IIS ได้อย่างไร

คำตอบ:


6

วิธีการเกี่ยวกับพวกเขาแทน?

แก้ไข php.ini และตั้งค่า

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

และอย่างใดอย่างหนึ่ง

error_log = syslog เพื่อเข้าสู่บันทึกเหตุการณ์ Windows หรือ

error_log = location/of/logfile เพื่อเข้าสู่ไฟล์


ฉันมีerror_reporting, log_errorsและerror_logกำหนดค่าทั้งหมดวิธีนี้ แต่ก็ยังคงไม่ได้เข้าสู่ระบบข้อผิดพลาดสำหรับ Joomla เว็บไซต์ ไซต์นี้ถูกคัดลอกมาจากเซิร์ฟเวอร์ Apache ฉันนำเข้า.htaccessกฎเข้าสู่ IIS 7.5 แต่อนิจจามันยังคงล้มเหลว โดยบังเอิญคุณมีความคิดอะไรที่ฉันอาจต้องดู
Mike Perrenoud

5

สมมติว่าคุณมีการตั้งค่าที่ถูกต้องทั้งหมดในไฟล์ php.ini

  1. เลือกเว็บไซต์ของคุณใน IIS Manager
  2. ทางด้านขวาให้ดับเบิลคลิกที่ไอคอนหน้าข้อผิดพลาด
  3. ที่ด้านขวาสุดใต้ 'การกระทำ' คลิกลิงก์ 'แก้ไขการตั้งค่าคุณสมบัติ'
  4. ในป๊อปอัปที่ปรากฏขึ้นให้เลือกปุ่มตัวเลือก 'ข้อผิดพลาดโดยละเอียด'
  5. รีเฟรชหน้า PHP ของคุณเพื่อดูข้อผิดพลาดโดยละเอียด

ขอบคุณที่แสดงความคิดเห็นล่าสุดในหน้านี้


0

ผมพบว่ามันเป็นความคิดที่ดีที่จะเข้าถึงหน้า IIS เป็นเจ้าภาพกับInternetExplorerสำหรับการทดสอบ

ในกรณีของฉัน php-error-log ที่สะอาด - ไม่มีเบาะแสจากที่นั่น

ฉันได้รับ "500 - ข้อผิดพลาดภายในเซิร์ฟเวอร์" แบบไม่ธรรมดาเมื่อเชื่อมต่อกับ firefox / chrome: ป้อนคำอธิบายรูปภาพที่นี่

... แต่ข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์มากกว่า ("HTTP Error 500.0 - ข้อผิดพลาดเซิร์ฟเวอร์ภายใน C: \ PHP \ php-cgi.exe - กระบวนการ FastCGI ออกจากโดยไม่คาดคิด") เมื่อใช้ InternetExplorer: ป้อนคำอธิบายรูปภาพที่นี่

อาจลองเชื่อมต่อจากhttp: // localhostบนเซิร์ฟเวอร์ด้วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.