Running Contao 3.x version and upgrading from PHP 5.x to PHP 7 results in a 500 Status?
I had the joy to debug a not working contao system line by line.
Why line by line? Because there was no entry in any logs, even with "log all motherfucker"-php.ini values on.
After parsing the lines, I ended up into this error message.
Fatal error: Cannot use 'String' as class name as it is reserved in ... system/modules/core/library/Contao/String.php on line 28
Well, nice to know the error but where was this triggered? So another round with joy and I ended up with an extension, of course installed "by hand" which means not possible to update by the contao updater and this lovely line.
$this->import('String');
After I've changed that line to the following line, all the gizmos where working again.
$this->import('StringUtils');
So, what should you do when you where faced with a 500 Apache Status Code after a contao installation moved from an PHP 5.x runtime environment to a PHP 7.x runtime environment?
cd <project root>
grep -ir "import('String');" *
Replace >>import('String');<< with >>import('StringUtil');<< and that is it.
But all would be better if you are not installing extensions by hand.