J3.x

Fatal error Class JClassLoader: Difference between revisions

From Joomla! Documentation

MATsxm (talk | contribs)
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>


<translate><!--T:1-->
In Joomla 3.4.2 we changed the way our Composer libraries are loaded.
In Joomla 3.4.2 we change the way how our composer libraries get autoloaded.</translate>


<translate>==Errors reported== <!--T:2--></translate>
==Errors reported==
<translate><!--T:3-->
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 Hoster you can run into the following error:</translate>


<tt><translate><!--T:4-->
'''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'''</translate></tt>


<translate><!--T:5-->
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 Hoster or move your installation von Linux to Windows you actually don't have any known Problems!</translate>


<translate><!--T:6-->
* 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 Code we only use the working one. (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 maybe get on Updating a error that you have a name conflict.
* 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 one maybe the wrong file gets removed.</translate>
* If you copy the files from the Linux Host to the Windows host it is possible the wrong file gets removed.


<translate><!--T:7-->
See: https://github.com/joomla/joomla-cms/issues/7296 and https://github.com/joomla/joomla-cms/issues/7307
See:</translate> https://github.com/joomla/joomla-cms/issues/7296 and https://github.com/joomla/joomla-cms/issues/7307


<translate>==Versions affected== <!--T:8--></translate>  
== Versions affected ==  
{{tip|<translate><!--T:9-->
<!--refers to and other information below -->
This pertains only to Joomla! version(s): '''3.4.2'''</translate>|title=<translate><!--T:10-->
{{TTWP|refers_to|3.4.2}}  
General Information</translate>}}


<translate>==What is the cause== <!--T:11--></translate>
== What is the cause==
<translate><!--T:12-->
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.
External and via composter loaded libraries like phpmailer will not be autoloaded.</translate>


<translate>==How to fix== <!--T:13--></translate>
== How to fix ==  
<translate><!--T:14-->
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 that comes soon.</translate>


__NOTOC__
<noinclude>
<noinclude>
<translate>
<!--T:15-->
[[Category:Version 3.4.2 FAQ]]
[[Category:Version 3.4.2 FAQ]]
</translate>
</noinclude>
</noinclude>

Revision as of 13:06, 2 July 2015

Joomla! 
3.4.2

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

General Information

This pertains only to Joomla! version(s):- 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.