IIS không hiển thị lỗi PHP chi tiết - thay vào đó hiển thị lỗi máy chủ 500


9

Tôi đã quen với việc phục vụ các trang web từ Apache, nhưng giờ tôi buộc phải sử dụng máy chủ IIS.

Một số trang PHP của tôi đang trả về lỗi 500 và tôi không thể gỡ lỗi vì IIS đang chặn các thông báo lỗi. Tôi đã thử ini_set('display_errors',1);mã nhưng vô ích.

Lỗi được hiển thị trên một số trang web nhưng không phải là lỗi mà tôi muốn gỡ lỗi, vì vậy tôi không nghĩ đó là cài đặt PHP toàn cầu, mà là một cái gì đó liên quan đến cài đặt trang cho trang web đó.

Tôi không thể tìm thấy câu trả lời rõ ràng về cách kích hoạt các lỗi hiển thị PHP.

Tôi đã tìm thấy liên kết này nhưng không chắc chắn nơi tìm " system.webServer-> httpErrors ".

Làm cách nào để kích hoạt các lỗi hiển thị trong PHP trong IIS?

Câu trả lời:


6

Làm thế nào về việc đăng nhập chúng thay thế?

Chỉnh sửa php.ini và thiết lập

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

Và một trong hai

error_log = syslog để đăng nhập vào Nhật ký sự kiện Windows, hoặc

error_log = location/of/logfile để đăng nhập vào một tập tin.


Tôi có error_reporting, log_errorserror_logtất cả được cấu hình theo cách này, nhưng nó vẫn không ghi nhật ký lỗi cho trang web Joomla. Trang web này đã được sao chép từ một máy chủ Apache. Tôi đã nhập các .htaccessquy tắc vào IIS 7.5; Nhưng than ôi, nó vẫn thất bại. Bạn có tình cờ có ý tưởng gì khác mà tôi có thể cần xem xét không?
Mike Perrenoud

5

Giả sử bạn có tất cả các cài đặt đúng trong tệp php.ini của mình

  1. Chọn trang web của bạn trong IIS Manager
  2. Ở bên phải, nhấp đúp vào biểu tượng Trang lỗi
  3. Ở ngoài cùng bên phải trong 'Hành động', nhấp vào liên kết 'Chỉnh sửa cài đặt tính năng'
  4. Khi bật lên xuất hiện, chọn nút radio 'Lỗi chi tiết'
  5. Làm mới trang PHP của bạn để xem lỗi chi tiết

Nhờ có chú thích cuối cùng trên này trang


0

Tôi phát hiện ra rằng đó là một ý tưởng tốt để truy cập vào một trang IIS chủ trì với InternetExplorer để thử nghiệm.

Trong trường hợp của tôi, php-error-log nơi sạch sẽ - không có manh mối nào từ đó.

Tôi đã nhận được "500 - lỗi máy chủ nội bộ" không biểu cảm rõ ràng khi kết nối với firefox / chrome: nhập mô tả hình ảnh ở đây

... nhưng một thông báo lỗi hữu ích hơn ("Lỗi HTTP 500.0 - Lỗi máy chủ nội bộ C: \ PHP \ php-cgi.exe - Quá trình FastCGI đã thoát bất ngờ") khi sử dụng InternetExplorer: nhập mô tả hình ảnh ở đây

Cũng có thể thử kết nối từ http: // localhost trên chính máy chủ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.