Я столкнулся с той же проблемой при работе с codeigniter и Imagick. imagick устанавливал ошибку HTTP 500, когда что-то пошло не так, и в этом случае пользовательское сообщение Codeigniter 500 не отображалось.
Я решил эту проблему, добавив try-catch ко всем функциям Imagick. Проверьте, где из 500 возникает проблема, а затем добавьте туда try-catch. Что касается
ErrorDocument 500 /errorpage.php?error=500
, я читал онлайн-загрузки о том же, где некоторые люди утверждают, что это решило их похожую проблему, другие говорят, что это не поможет, поскольку Apache передал управление PHP. Возможно, браузер отобразит свое сообщение об ошибке 500.