Fatal error Class JClassLoader: Difference between revisions
From Joomla! Documentation
Marked this version for translation |
English Updates (MAT's gonna kill me) |
||
| Line 2: | Line 2: | ||
<noinclude>{{Joomla version|version=3.4.2}}</noinclude> | <noinclude>{{Joomla version|version=3.4.2}}</noinclude> | ||
In Joomla 3.4.2 we changed the way our Composer libraries are loaded. | |||
In Joomla 3.4.2 we | |||
==Errors reported== | |||
If you try to move a website from a Linux based Host to a Windows based host or if you have a CentOS server you can run into the following error: | |||
If you try to move a website from Linux based Host to a Windows based host or if you have a CentOS | |||
'''Fatal error: Class 'JClassLoader' not found in JROOT\libraries\cms.php on line 38''' | |||
'''Fatal error: Class 'JClassLoader' not found in JROOT\libraries\cms.php on line 38''' | |||
If you don't have a CentOS server or move your installation from Linux to Windows you actually don't have any known problems! | |||
If you don't have a CentOS | |||
* On Windows (not case sensitive) that file gets replaced (all fine) | * On Windows (not case sensitive) that file gets replaced (all fine) | ||
* On Linux (case sensitive) both files are still there and as the correct is in the | * On Linux (case sensitive) both files are still there and as the correct file is loaded in the code we only use the working file. (all fine) | ||
* On CentOS you | * On CentOS you may get an error on updating that you have a name conflict. | ||
* If you copy the files from the Linux Host to the Windows | * If you copy the files from the Linux Host to the Windows host it is possible the wrong file gets removed. | ||
See: https://github.com/joomla/joomla-cms/issues/7296 and https://github.com/joomla/joomla-cms/issues/7307 | |||
See: | |||
== Versions affected == | |||
{{ | <!--refers to and other information below --> | ||
{{TTWP|refers_to|3.4.2}} | |||
== What is the cause== | |||
Modifications to how Joomla wraps the Composer autoloader were made between 3.4.1 and 3.4.2 to improve the API structure, this included changing the file's name from ClassLoader.php to classloader.php which introduced errors under very specific conditions. | |||
== How to fix == | |||
Apply the patch https://github.com/joomla/joomla-cms/pull/7307.diff. This will be included in the Joomla 3.4.3 release. | |||
Apply the patch https://github.com/joomla/joomla-cms/pull/7307.diff. This will be included in Joomla 3.4.3 | |||
<noinclude> | <noinclude> | ||
[[Category:Version 3.4.2 FAQ]] | [[Category:Version 3.4.2 FAQ]] | ||
</noinclude> | </noinclude> | ||
Revision as of 13:06, 2 July 2015
In Joomla 3.4.2 we changed the way our Composer libraries are loaded.
Errors reported
If you try to move a website from a Linux based Host to a Windows based host or if you have a CentOS server you can run into the following error:
Fatal error: Class 'JClassLoader' not found in JROOT\libraries\cms.php on line 38
If you don't have a CentOS server or move your installation from Linux to Windows you actually don't have any known problems!
- On Windows (not case sensitive) that file gets replaced (all fine)
- On Linux (case sensitive) both files are still there and as the correct file is loaded in the code we only use the working file. (all fine)
- On CentOS you may get an error on updating that you have a name conflict.
- If you copy the files from the Linux Host to the Windows host it is possible the wrong file gets removed.
See: https://github.com/joomla/joomla-cms/issues/7296 and https://github.com/joomla/joomla-cms/issues/7307
Versions affected
What is the cause
Modifications to how Joomla wraps the Composer autoloader were made between 3.4.1 and 3.4.2 to improve the API structure, this included changing the file's name from ClassLoader.php to classloader.php which introduced errors under very specific conditions.
How to fix
Apply the patch https://github.com/joomla/joomla-cms/pull/7307.diff. This will be included in the Joomla 3.4.3 release.