Bug #21761
closedFatal error in class autoloader after upgrade to TYPO3 4.3
0%
Description
There was no frontend output after upgrade from TYPO3 4.10 to 4.3 (stable version).
I got the PHP error message "Fatal error: Class 'tx_templavoila_pi1' not found in /html/typo3_src-4.3.0/t3lib/class.t3lib_div.php on line 4942".
All extensions were up to date. After deinstalling templavoila, I got a similar error message for other extensions. There seems to be a problem with the class autoloader in class.t3lib_div.php.
Backend was running normally, including templavoila. There were some issues with PHP 5.3 (no folder tree in DAM and media selections) so I switched back to PHP 5.2.
Relation to an PHP 5.3 issue:
http://bugs.php.net/bug.php?id=50159
(issue imported from #M12869)
Files
Updated by Thomas Löffler almost 15 years ago
I can reproduce the same error message, also in PHP 5.3.1.
No Frontend with templavoila.
Updated by Martin Friedrich almost 15 years ago
i've got the same problem using 4.3 and TV - but only with PHP 5.3.0 and 5.3.1.
Downgrading back to 5.2.11 solves it for me.
First i saw this white FE with this error message refering to ms_ footermenu.
After uninstalling it, tv is the one:
Fatal error: Class 'tx_templavoila_pi1' not found in /html/typo3_src-4.3.0/t3lib/class.t3lib_div.php on line 4942
Updated by Martin Friedrich almost 15 years ago
problem still exists with typo3 v4.31 and php5.3+
Fatal error: Class 'tx_templavoila_pi1' not found in /html/typo3_src-4.3.1/t3lib/class.t3lib_div.php on line 4942
(preconfigurated server environment @ professionell and well known german typo3 hoster mittwald.de)
Updated by Oliver Hader almost 15 years ago
Can someone with PHP 5.3 please dig deeper into this issue?
Updated by Thomas Löffler almost 15 years ago
I have typo3 4.3.1, php 5.3.1 and templavoila 1.4.1.
The failure appears in function makeInstance at:
$instance = new $className;
When debugging the $className before this line there are many instances generated successfully:tslib_feUserAuth | t3lib_tsfeBeUserAuth | t3lib_TSparser_TSconfig | t3lib_matchCondition_backend | tslib_AdminPanel | tx_simulatestatic | t3lib_pageSelect | tx_sv_auth | tx_templavoila_frontendedit | language | t3lib_cs | t3lib_pageSelect | t3lib_TStemplate | t3lib_matchCondition_frontend | t3lib_PageRenderer | t3lib_cs | tslib_cObj | tx_templavoila_pi1 |
Do you need more information, Oliver?
Updated by Martin Friedrich over 14 years ago
problem still exists with php 5.3.1 and new typo3 4.3.2
Fatal error: Class 'tx_templavoila_pi1' not found in /html/typo3_src-4.3.2/t3lib/class.t3lib_div.php on line 4942
Updated by Oliver Hader over 14 years ago
Thanks for your feedback. I need more information (a full debug backtrace) when the error occurs.
Updated by Martin Friedrich over 14 years ago
sorry I'm no developer. Can you please post a link to a tutorial how to do this exactly? Google brings no good results searching for it....
Thanks very much.
Updated by Thomas Löffler over 14 years ago
Hey Oliver,
we can debug it at T3BOARD10. I have the server environment which causes the error.
Greets Thomas
Updated by Martin Friedrich over 14 years ago
sounds perfect, thanks very much.
Do you also use a preconfigurated server?
Updated by Laurent Salingros over 14 years ago
I solved the problem using extdeveval extension to generate the ext_autoload.php files for extensions causing problems
I used the trunk version of extdeveval from http://sourceforge.net/projects/typo3xdev/files/
Also needed to rewrite deprecated ereg function used in extdeveval (see http://devthought.com/tumble/2009/06/fix-ereg-is-deprecated-errors-in-php-53/ )
Using typo 4.3.2 & php 5.3
Updated by Thomas Löffler over 14 years ago
Hi Oliver,
here is the full debug_backtrace.
I hope it gives you some hints.
Thomas
Updated by Oliver Hader over 14 years ago
We reproduced this issue at the T3BOARD10 on a PHP 5.3.1
It seems, that this is is a PHP 5.3 bug since the current working directory pointed to the source files of TYPO3 and not to the document root of the website. Thus, relative filenames that are looked up by t3lib_tstemplate:getFileName() are not found.
http://bugs.php.net/bug.php?id=50159
Upgrading to PHP 5.3.2 should solve this problem...
(PHP 5.3.2 ChangeLog, search for 50159: http://www.php.net/ChangeLog-5.php#5.3.2 )
Updated by Thomas Löffler over 14 years ago
After upgrading to PHP 5.3.2 (built: Mar 6 2010 00:11:37) this bug does not appear any more. It seems to be a bug in PHP.
This bug is fixed and this issue can be closed.
Updated by Oliver Hader over 14 years ago
Closing this bug since no change is required in TYPO3.
Please upgrade to PHP 5.3.2 instead...