PHP — ошибка скрипта «500», а в логах и на экране пусто?

Как такое может быть ?

Скрипт просто выдает ошибку 500, а в логах при этом ничего нет ? Саппорт чего-то ничего сказать не может

Скрипт не самописный, занимается тем что генерирует каптчу

1 ответов


500 ошибка это ошибка сервера, соответственно нужно копать в его сторону. Если там же другие скрипты/сайты запускаются и работают, то:

1. Проверьте .htaccess в папке со скриптом
2. Посмотрите код скрипта, возможно он пытается использовать библиотеки/модули, которые не установлены на сервере.

А так без исходного кода тяжело ответить точно.


Ну может быть отключен вывод ошибок и запись логов?)


вставьте в начало
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);


Сторонний скрипт вполне может самостоятельно выдавать 500 ошибку. Может там есть какой-нибудь режим отладки? Если нет, то ищите где вызывается header.


Сталкивался буквально недавно с такой проблемой. Залил на хостинг файл. При его открытии все время 500. Оказалось ошибка была в правах доступа. Надо было r--. Посмотрите что у вас


Те же симптомы. У меня проблема была в отсутствии пакета php5-mysql


Скорее всего проблема в отсутствии какого-либо расширения PHP, используемого скриптом.
Раз капча — предположу, что не хватает php-gd (или ее аналогов — php-imagick и т.п.)
Или более экзотический вариант — php-imagick установлен, а необходимый для его работы imagemagick — нет.