Tôi dường như không thể lấy mô-đun python cgitb để xuất dấu vết ngăn xếp trong trình duyệt. Tôi không có vấn đề gì trong môi trường shell. Tôi đang chạy Centos 6 với python 2.6.python cgitb không hoạt động thông qua trình duyệt
Dưới đây là một ví dụ mã đơn giản mà tôi đang sử dụng:
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
print 1/0
tôi nhận được một Lỗi máy chủ nội bộ thay vì báo cáo chi tiết được in ra. Tôi đã thử các loại lỗi khác nhau, các trình duyệt khác nhau, v.v.
Khi tôi không có lỗi, tất nhiên python hoạt động tốt. Nó sẽ in lỗi trong một vỏ tốt. Điểm của cgitb là in lỗi thay vì trả về "Lỗi Máy chủ Nội bộ" trong trình duyệt vì hầu hết các lỗi ngoại lệ. Về cơ bản tôi chỉ đang cố gắng để có được cgitb để làm việc trong môi trường trình duyệt.
Bất kỳ đề xuất nào?
OP cho biết, không có lỗi, tập lệnh chạy tốt. do đó, nó chắc chắn không phải là một vấn đề với việc thực hiện CGI. Xin vui lòng bình luận về câu trả lời của bạn trong trường hợp tôi đã nhận nó sai vì tôi, quá, cần phải có được điều này chạy và cgitb chỉ dường như bắt và hành động về vấn đề của tôi. – Chris
Hãy để tôi không đồng ý với bạn. Trong trình bao, bạn có thể chạy tệp bằng cách chuyển 'python' trước tên tệp. Trong CGI bạn phải chắc chắn rằng tập tin chính nó là thực thi như động cơ CGI có thể không biết làm thế nào để chạy nó. Bạn phải đặt giá trị shebang vào đầu tệp. – baldr
Đồng ý. Tuy nhiên tôi thấy rằng câu trả lời làm cho tôi nghĩ rằng đây là giải pháp đúng và duy nhất cho vấn đề. Đặc biệt là "chỉ". Tôi nghĩ rằng nó nên nói "Hãy chắc chắn rằng bạn có những điều cơ bản CGI được bảo hiểm". Tôi nhận ra rằng tôi cho rằng thực sự có * các giải pháp khác nhau cho vấn đề này trong kịch bản của OP. – Chris