Я работаю над Perl script, который вызывается с сервера на сервере Apache 2. script отображает общую страницу "Ошибка внутреннего сервера", а не показывает фактическую ошибку. Когда я проверяю журнал ошибок Apache, я вижу эти сообщения:
unable to include "/foobar/index.pl" in parsed file /home/foouser/domains/foosite.com/public_html/foobar/index.shtml, referer: http://www.foosite.com/foobar/
suexec policy violation: see suexec log for more details, referer: http://www.foosite.com/foobar/
Premature end of script headers: settings.pl, referer: http://www.foosite.com/foobar/
Как мне получить Perl script, чтобы показать ошибку, а не "Внутренняя ошибка сервера"?
Обновление:
Я должен был задать отдельный вопрос для этого, потому что с тех пор я узнал, что это отправляет ошибки в браузер (спасибо brian):
use CGI::Carp qw(fatalsToBrowser);
Однако, если проблема связана с конфигурацией Apache, а не с Perl script, тогда ошибка не будет отправлена в браузер, потому что код Perl не интерпретируется. В этом случае мы можем сказать, что я испытываю ошибку Apache (а не ошибку Perl) из-за этой строки:
suexec policy violation: see suexec log for more details
Это происходит, когда Apache работает в режиме SUexec (что, как представляется, является общим для общего хостинга). Я не уверен, что именно было изменено, чтобы вызвать эту ошибку, но это то, что я пытаюсь выяснить.