Joomla Cache, HTTP & feeds changes: Joomla 3 → 4, 5 and 6
24 issues in this guide
Supporting services — cache, HTTP, feeds, and remote clients — still ship as J* globals in older extensions. This guide groups 24 entries: JBrowser, JBrowser::isSSLConnection(), JCache, JCacheStorageCachelite, JCacheStorage::test(), JCacheController, JCacheStorageFile, JCacheStorage, JClientWrapperHelper, JClientFtp, and 14 more. The replacement pattern is the namespaced Cache, Http, Feed, Client, and Environment\Browser classes, isSupported() instead of storage test() methods, header values read as arrays, and FeedFactory instead of SimplePie. FTP and LDAP clients move to FtpClient / LdapClient. SSL checks belong on the application (isSSLConnection()) rather than legacy browser helpers where that API moved. Hop mix: 7 at Joomla 3 → 4; 17 at Joomla 5 → 6. Alias removals dominate J5→J6; Cache_Lite and some HTTP header assumptions already fail on Joomla 4. Patch these when your extension touches updates, web services, or remote sync, using each catalog before/after below. Catalog replacements in this guide include JBrowser → Joomla\CMS\Environment\Browser; JBrowser::isSSLConnection() → $app->isSSLConnection(); JCache → Joomla\CMS\Cache\Cache; JCacheStorageCachelite → File / Redis / Memcached storage — not Cache_Lite. Open each h2 anchor for the full before/after, fix list, and error strings shipped in the reference data.
JBROWSER-CLASS-001
JBrowser
JBrowser class name
JBrowser is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JBrowser" not found.
JBrowser → Joomla\CMS\Environment\Browser
Dies at Joomla 5 → 6What you will see
- Class "JBrowser" not found
- Class 'JBrowser' not found
- Failed to open stream: JBrowser
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JBrowser for Joomla\CMS\Environment\Browser.
Joomla 3
Remove or stop calling this
JBrowser::getInstance();
// or new JBrowser()Joomla 4 / 6
Use this instead
use Joomla\CMS\Environment\Browser;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Environment\Browser.
- 2Replace every JBrowser with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JBrowser · Joomla\CMS\Environment\Browser · class alias · J prefix
JBROWSER-ISSSL-001
JBrowser::isSSLConnection()
JBrowser::isSSLConnection()
SSL detection moved to the application. The browser method is gone.
JBrowser::isSSLConnection() → $app->isSSLConnection()
Dies at Joomla 3 → 4What you will see
- Call to undefined method ...::isSSLConnection
Symptoms people search
https detection wrong
Replace this code
Swap JBrowser::isSSLConnection() for $app->isSSLConnection().
Joomla 3
Remove or stop calling this
if (JBrowser::getInstance()->isSSLConnection()) {}Joomla 4 / 6
Use this instead
if (Factory::getApplication()->isSSLConnection()) {}How to fix it
- 1Call isSSLConnection() on the application.
Also known as
isSSLConnection
JCACHE-CLASS-001
JCache
JCache class name
JCache is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JCache" not found.
JCache → Joomla\CMS\Cache\Cache
Dies at Joomla 5 → 6What you will see
- Class "JCache" not found
- Class 'JCache' not found
- Failed to open stream: JCache
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JCache for Joomla\CMS\Cache\Cache.
Joomla 3
Remove or stop calling this
JCache::getInstance();
// or new JCache()Joomla 4 / 6
Use this instead
use Joomla\CMS\Cache\Cache;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Cache\Cache.
- 2Replace every JCache with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JCache · Joomla\CMS\Cache\Cache · class alias · J prefix
JCACHE-LITE-001
JCacheStorageCachelite
Cache_Lite / JCacheStorageCacheLite
The PEAR Cache_Lite handler was removed.
JCacheStorageCachelite → File / Redis / Memcached storage — not Cache_Lite
Dies at Joomla 3 → 4What you will see
- Class "JCacheStorageCachelite" not found
- Class "Cache_Lite" not found
Symptoms people search
cache lite fatal · cachelite
Replace this code
Swap JCacheStorageCachelite for File / Redis / Memcached storage — not Cache_Lite.
Joomla 3
Remove or stop calling this
$config['cache_handler'] = 'cachelite';Joomla 4 / 6
Use this instead
Use file, redis, or memcached. Cache_Lite is not in Joomla 4.How to fix it
- 1Change Global Configuration cache handler.
- 2Remove cachelite from extension code.
Also known as
Cache_Lite · cachelite · JCacheStorageCachelite
There is no 1:1 swap for this one. The architecture changed. If you cannot rewrite it, Infyways can.
JCACHE-TEST-001
JCacheStorage::test()
JCacheStorage::test() / output start-end
test() became isSupported(). Output cache start/end were removed.
JCacheStorage::test() → isSupported(); output cache start/end removed
Dies at Joomla 3 → 4What you will see
- Call to undefined method ...::test
- Call to undefined method ...::start
Symptoms people search
memcache test fatal · output cache
Replace this code
Swap JCacheStorage::test() for isSupported(); output cache start/end removed.
Joomla 3
Remove or stop calling this
if (JCacheStorageMemcache::test()) {}
$cache->start($id); ... $cache->end();Joomla 4 / 6
Use this instead
if (MemcachedStorage::isSupported()) {}
// Do not use CacheControllerOutput::start/end — they are gone.How to fix it
- 1Rename test() to isSupported().
- 2Rewrite output caching; do not call start/end.
Also known as
JCacheStorage::test · CacheControllerOutput
There is no 1:1 swap for this one. The architecture changed. If you cannot rewrite it, Infyways can.
JCACHECONTROLLER-CLASS-001
JCacheController
JCacheController class name
JCacheController is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JCacheController" not found.
JCacheController → Joomla\CMS\Cache\CacheController
Dies at Joomla 5 → 6What you will see
- Class "JCacheController" not found
- Class 'JCacheController' not found
- Failed to open stream: JCacheController
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JCacheController for Joomla\CMS\Cache\CacheController.
Joomla 3
Remove or stop calling this
JCacheController::getInstance();
// or new JCacheController()Joomla 4 / 6
Use this instead
use Joomla\CMS\Cache\CacheController;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Cache\CacheController.
- 2Replace every JCacheController with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JCacheController · Joomla\CMS\Cache\CacheController · class alias · J prefix
JCACHEFILE-CLASS-001
JCacheStorageFile
JCacheStorageFile class name
JCacheStorageFile is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JCacheStorageFile" not found.
JCacheStorageFile → Joomla\CMS\Cache\Storage\FileStorage
Dies at Joomla 5 → 6What you will see
- Class "JCacheStorageFile" not found
- Class 'JCacheStorageFile' not found
- Failed to open stream: JCacheStorageFile
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JCacheStorageFile for Joomla\CMS\Cache\Storage\FileStorage.
Joomla 3
Remove or stop calling this
JCacheStorageFile::getInstance();
// or new JCacheStorageFile()Joomla 4 / 6
Use this instead
use Joomla\CMS\Cache\Storage\FileStorage;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Cache\Storage\FileStorage.
- 2Replace every JCacheStorageFile with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JCacheStorageFile · Joomla\CMS\Cache\Storage\FileStorage · class alias · J prefix
JCACHESTORAGE-CLASS-001
JCacheStorage
JCacheStorage class name
JCacheStorage is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JCacheStorage" not found.
JCacheStorage → Joomla\CMS\Cache\CacheStorage
Dies at Joomla 5 → 6What you will see
- Class "JCacheStorage" not found
- Class 'JCacheStorage' not found
- Failed to open stream: JCacheStorage
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JCacheStorage for Joomla\CMS\Cache\CacheStorage.
Joomla 3
Remove or stop calling this
JCacheStorage::getInstance();
// or new JCacheStorage()Joomla 4 / 6
Use this instead
use Joomla\CMS\Cache\CacheStorage;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Cache\CacheStorage.
- 2Replace every JCacheStorage with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JCacheStorage · Joomla\CMS\Cache\CacheStorage · class alias · J prefix
JCLIENT-WRAPPER-001
JClientWrapperHelper
JClientWrapperHelper and other wrappers
Wrapper classes (JFormWrapper, JHttpWrapperFactory, language wrappers, client wrappers) were deleted in Joomla 4. Call the real static API.
JClientWrapperHelper → Call ClientHelper / FormHelper / HttpFactory statically
Dies at Joomla 3 → 4What you will see
- Class "JClientWrapperHelper" not found
- Class "JFormWrapperHelper" not found
- Class "JHttpWrapperFactory" not found
- Class "JLanguageWrapperText" not found
Symptoms people search
wrapper helper fatal
Replace this code
Swap JClientWrapperHelper for Call ClientHelper / FormHelper / HttpFactory statically.
Joomla 3
Remove or stop calling this
(new JClientWrapperHelper())->getCredentials('ftp');Joomla 4 / 6
Use this instead
ClientHelper::getCredentials('ftp');How to fix it
- 1Unwrap. Call the helper class directly.
Also known as
JClientWrapperHelper · JFormWrapperHelper · JHttpWrapperFactory · JLanguageWrapperText · JUserWrapperHelper
JCLIENTFTP-CLASS-001
JClientFtp
JClientFtp class name
JClientFtp is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JClientFtp" not found.
JClientFtp → Joomla\CMS\Client\FtpClient
Dies at Joomla 5 → 6What you will see
- Class "JClientFtp" not found
- Class 'JClientFtp' not found
- Failed to open stream: JClientFtp
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JClientFtp for Joomla\CMS\Client\FtpClient.
Joomla 3
Remove or stop calling this
JClientFtp::getInstance();
// or new JClientFtp()Joomla 4 / 6
Use this instead
use Joomla\CMS\Client\FtpClient;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Client\FtpClient.
- 2Replace every JClientFtp with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JClientFtp · Joomla\CMS\Client\FtpClient · class alias · J prefix · JFTP
JCLIENTHELPER-CLASS-001
JClientHelper
JClientHelper class name
JClientHelper is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JClientHelper" not found.
JClientHelper → Joomla\CMS\Client\ClientHelper
Dies at Joomla 5 → 6What you will see
- Class "JClientHelper" not found
- Class 'JClientHelper' not found
- Failed to open stream: JClientHelper
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JClientHelper for Joomla\CMS\Client\ClientHelper.
Joomla 3
Remove or stop calling this
JClientHelper::getInstance();
// or new JClientHelper()Joomla 4 / 6
Use this instead
use Joomla\CMS\Client\ClientHelper;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Client\ClientHelper.
- 2Replace every JClientHelper with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JClientHelper · Joomla\CMS\Client\ClientHelper · class alias · J prefix
JCLIENTLDAP-CLASS-001
JClientLdap
JClientLdap class name
JClientLdap is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JClientLdap" not found.
JClientLdap → Joomla\Ldap\LdapClient
Dies at Joomla 5 → 6What you will see
- Class "JClientLdap" not found
- Class 'JClientLdap' not found
- Failed to open stream: JClientLdap
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JClientLdap for Joomla\Ldap\LdapClient.
Joomla 3
Remove or stop calling this
JClientLdap::getInstance();
// or new JClientLdap()Joomla 4 / 6
Use this instead
use Joomla\Ldap\LdapClient;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\Ldap\LdapClient.
- 2Replace every JClientLdap with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JClientLdap · Joomla\Ldap\LdapClient · class alias · J prefix · JLDAP
JFEED-CLASS-001
JFeed
JFeed class name
JFeed is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JFeed" not found.
JFeed → Joomla\CMS\Feed\Feed
Dies at Joomla 5 → 6What you will see
- Class "JFeed" not found
- Class 'JFeed' not found
- Failed to open stream: JFeed
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JFeed for Joomla\CMS\Feed\Feed.
Joomla 3
Remove or stop calling this
JFeed::getInstance();
// or new JFeed()Joomla 4 / 6
Use this instead
use Joomla\CMS\Feed\Feed;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Feed\Feed.
- 2Replace every JFeed with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JFeed · Joomla\CMS\Feed\Feed · class alias · J prefix
JFEEDENTRY-CLASS-001
JFeedEntry
JFeedEntry class name
JFeedEntry is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JFeedEntry" not found.
JFeedEntry → Joomla\CMS\Feed\FeedEntry
Dies at Joomla 5 → 6What you will see
- Class "JFeedEntry" not found
- Class 'JFeedEntry' not found
- Failed to open stream: JFeedEntry
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JFeedEntry for Joomla\CMS\Feed\FeedEntry.
Joomla 3
Remove or stop calling this
JFeedEntry::getInstance();
// or new JFeedEntry()Joomla 4 / 6
Use this instead
use Joomla\CMS\Feed\FeedEntry;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Feed\FeedEntry.
- 2Replace every JFeedEntry with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JFeedEntry · Joomla\CMS\Feed\FeedEntry · class alias · J prefix
JFEEDFACTORY-CLASS-001
JFeedFactory
JFeedFactory class name
JFeedFactory is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JFeedFactory" not found.
JFeedFactory → Joomla\CMS\Feed\FeedFactory
Dies at Joomla 5 → 6What you will see
- Class "JFeedFactory" not found
- Class 'JFeedFactory' not found
- Failed to open stream: JFeedFactory
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JFeedFactory for Joomla\CMS\Feed\FeedFactory.
Joomla 3
Remove or stop calling this
JFeedFactory::getInstance();
// or new JFeedFactory()Joomla 4 / 6
Use this instead
use Joomla\CMS\Feed\FeedFactory;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Feed\FeedFactory.
- 2Replace every JFeedFactory with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JFeedFactory · Joomla\CMS\Feed\FeedFactory · class alias · J prefix
JFEEDPARSER-CLASS-001
JFeedParser
JFeedParser class name
JFeedParser is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JFeedParser" not found.
JFeedParser → Joomla\CMS\Feed\FeedParser
Dies at Joomla 5 → 6What you will see
- Class "JFeedParser" not found
- Class 'JFeedParser' not found
- Failed to open stream: JFeedParser
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JFeedParser for Joomla\CMS\Feed\FeedParser.
Joomla 3
Remove or stop calling this
JFeedParser::getInstance();
// or new JFeedParser()Joomla 4 / 6
Use this instead
use Joomla\CMS\Feed\FeedParser;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Feed\FeedParser.
- 2Replace every JFeedParser with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JFeedParser · Joomla\CMS\Feed\FeedParser · class alias · J prefix
JFTP-CLASS-001
JFTP
JFTP class name
JFTP is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JFTP" not found.
JFTP → Joomla\CMS\Client\FtpClient
Dies at Joomla 5 → 6What you will see
- Class "JFTP" not found
- Class 'JFTP' not found
- Failed to open stream: JFTP
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JFTP for Joomla\CMS\Client\FtpClient.
Joomla 3
Remove or stop calling this
JFTP::getInstance();
// or new JFTP()Joomla 4 / 6
Use this instead
use Joomla\CMS\Client\FtpClient;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Client\FtpClient.
- 2Replace every JFTP with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JFTP · Joomla\CMS\Client\FtpClient · class alias · J prefix · JClientFtp
JHTTP-CLASS-001
JHttp
JHttp class name
JHttp is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHttp" not found.
JHttp → Joomla\CMS\Http\Http
Dies at Joomla 5 → 6What you will see
- Class "JHttp" not found
- Class 'JHttp' not found
- Failed to open stream: JHttp
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHttp for Joomla\CMS\Http\Http.
Joomla 3
Remove or stop calling this
JHttp::getInstance();
// or new JHttp()Joomla 4 / 6
Use this instead
use Joomla\CMS\Http\Http;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Http\Http.
- 2Replace every JHttp with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHttp · Joomla\CMS\Http\Http · class alias · J prefix
JHTTP-HEADERS-001
$response->headers['Content-Type'] as string
JHttp response headers are arrays
Joomla 4 HTTP responses follow PSR-7: a header name maps to a list of values, not a string.
$response->headers['Content-Type'] as string → Read header values as an array
Dies at Joomla 3 → 4Symptoms people search
content-type check fails · JHttp headers
Replace this code
Swap $response->headers['Content-Type'] as string for Read header values as an array.
Joomla 3
Remove or stop calling this
$type = $response->headers['Content-Type'];Joomla 4 / 6
Use this instead
$type = $response->getHeader('Content-Type')[0] ?? '';How to fix it
- 1Use getHeader() and take [0].
- 2Do not strcmp the whole headers array.
Also known as
JHttp · getHeader
JHTTPCURL-CLASS-001
JHttpTransportCurl
JHttpTransportCurl class name
JHttpTransportCurl is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHttpTransportCurl" not found.
JHttpTransportCurl → Joomla\CMS\Http\Transport\CurlTransport
Dies at Joomla 5 → 6What you will see
- Class "JHttpTransportCurl" not found
- Class 'JHttpTransportCurl' not found
- Failed to open stream: JHttpTransportCurl
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHttpTransportCurl for Joomla\CMS\Http\Transport\CurlTransport.
Joomla 3
Remove or stop calling this
JHttpTransportCurl::getInstance();
// or new JHttpTransportCurl()Joomla 4 / 6
Use this instead
use Joomla\CMS\Http\Transport\CurlTransport;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Http\Transport\CurlTransport.
- 2Replace every JHttpTransportCurl with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHttpTransportCurl · Joomla\CMS\Http\Transport\CurlTransport · class alias · J prefix
JHTTPFACTORY-CLASS-001
JHttpFactory
JHttpFactory class name
JHttpFactory is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JHttpFactory" not found.
JHttpFactory → Joomla\CMS\Http\HttpFactory
Dies at Joomla 5 → 6What you will see
- Class "JHttpFactory" not found
- Class 'JHttpFactory' not found
- Failed to open stream: JHttpFactory
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JHttpFactory for Joomla\CMS\Http\HttpFactory.
Joomla 3
Remove or stop calling this
JHttpFactory::getInstance();
// or new JHttpFactory()Joomla 4 / 6
Use this instead
use Joomla\CMS\Http\HttpFactory;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Http\HttpFactory.
- 2Replace every JHttpFactory with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JHttpFactory · Joomla\CMS\Http\HttpFactory · class alias · J prefix
JLDAP-CLASS-001
JLDAP
JLDAP
The JLDAP class name is obsolete. Use the LDAP package client.
JLDAP → Joomla\Ldap\LdapClient
Dies at Joomla 3 → 4What you will see
- Class "JLDAP" not found
Symptoms people search
LDAP login 500
Replace this code
Swap JLDAP for Joomla\Ldap\LdapClient.
Joomla 3
Remove or stop calling this
$ldap = new JLDAP($opts);Joomla 4 / 6
Use this instead
use Joomla\Ldap\LdapClient;How to fix it
- 1Replace JLDAP with LdapClient.
Also known as
JLDAP · JClientLdap
JWEBCLIENT-CLASS-001
JWebClient
JWebClient class name
JWebClient is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JWebClient" not found.
JWebClient → Joomla\CMS\Environment\Browser
Dies at Joomla 5 → 6What you will see
- Class "JWebClient" not found
- Class 'JWebClient' not found
- Failed to open stream: JWebClient
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JWebClient for Joomla\CMS\Environment\Browser.
Joomla 3
Remove or stop calling this
JWebClient::getInstance();
// or new JWebClient()Joomla 4 / 6
Use this instead
use Joomla\CMS\Environment\Browser;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Environment\Browser.
- 2Replace every JWebClient with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JWebClient · Joomla\CMS\Environment\Browser · class alias · J prefix
SIMPLEPIE-001
SimplePie
SimplePie library in core
SimplePie was removed from Joomla 4. Use the CMS Feed package.
SimplePie → Joomla\CMS\Feed\FeedFactory
Dies at Joomla 3 → 4What you will see
- Class "SimplePie" not found
Symptoms people search
RSS module 500
Replace this code
Swap SimplePie for Joomla\CMS\Feed\FeedFactory.
Joomla 3
Remove or stop calling this
$feed = new SimplePie(); $feed->set_feed_url($url);Joomla 4 / 6
Use this instead
$feed = (new \Joomla\CMS\Feed\FeedFactory())->getFeed($url);How to fix it
- 1Replace SimplePie with FeedFactory.
Also known as
SimplePie · JFeedReader