Bug #26247
closedExtension Manager blank if ext_emconf.php has errors
0%
Description
I lost much time figuring out why I get a blank page when I try to access the extension manager or install extensions in Install script.
Although I enabled any possible setting to display errors no errors were thrown so I ended up debugging TYPO3. I set $TYPO3_CONF_VARS['EXT']['extList'] = '' to see if there is a corrupt extension I've installed. But it has not changed anything. I was wondering if there is a corrupt core extension although this typo3 source is used by other websites too.
When I debugged TYPO3 I noticed that it stops the logic after including a specific extension's ext_emconf.php. As it was included with @include the error messages were hidden, but this does not prevent the PHP process to stop. So I got only a blank page.
/**
* Returns the $EM_CONF array from an extensions ext_emconf.php file
*
* @param string Absolute path to EMCONF file.
* @param string Extension key.
* @return array EMconf array values.
*/
public static function includeEMCONF($path, $_EXTKEY) {
$EM_CONF = NULL;
@include($path);
if (is_array($EM_CONF[$_EXTKEY])) {
return self::fixEMCONF($EM_CONF[$_EXTKEY]);
}
return FALSE;
}
The prefix should be removed here. If the file is corrupt, it should be visible. If you want to handle a missing file, PHP offers other ways to fulfill that.
is evil.
Here is a small example for @include: https://gist.github.com/939886