Я установил приложение PHP на веб-сервер с общим хостингом. Я получаю 500 Internal Server Error
. Кажется, у меня нет доступа к каким-либо файлам журналов, поэтому мне бы хотелось, чтобы страница с ошибкой давала подробные сведения об ошибке.
Я знаю, как это сделать в ASP.Net, но я не знаком с PHP.
пытаться:
error_reporting(E_ALL); ini_set('display_errors', '1');
в верхней части файла.
Если решение Джереми Моргана не работает, попробуйте создать собственный файл журнала с помощью set_error_handler()
. Обычно некоторая информация о состоянии приложения ($ GLOBALS и т. Д.) Может быть достаточной информацией, но PHP (по крайней мере, попытается) передать вам всевозможные сведения о том, где произошла ошибка и какой тип ошибки.
Также попробуйте использовать метод отладки «Divide And Conquer». Начните с примерно половины вашего файла, а затем разверните вверх, если он по-прежнему падает или падает, если он запускает это значение. Если вы не хотите удалять свой код, либо /* comment out */
код, который нужно отрезать, либо использовать специальную директиву __halt_compiler()
чтобы PHP игнорировал все остальные данные в файле.
Наконец, одна вещь, которая заставила меня сойти с ума, пытаясь исправить это, называется так называемым байтом . PHP оценивал эту спецификацию в начале файла, заставляя ее отправлять выходные данные и вызывая проблемы при попытке отправить заголовки и т. П. Вероятно, это не то, что у вас есть, но знание стоит.
Я сомневаюсь, что вы получаете эту ошибку от PHP. На общем хостинге более вероятно, что ошибка по умолчанию .htaccess в приложении вызывает ошибку.
Мое предположение было бы mod_rewrite без набора RewriteBase
.
посмотрите на значения в phpinfo();
чтобы убедиться, что что-то не вышло … поместите его где-нибудь в код, и он должен отобразить кучу информации о версии php
«Внутренняя ошибка сервера» не является ошибкой PHP (как сказано в названии). Поэтому вам нужно либо посмотреть журналы вашего сервера (к которым у вас нет доступа, как кажется), либо вы ничего не можете сделать с PHP.