• About us
    • Joomla Home
    • What is Joomla?
    • Benefits & Features
    • Project & Leadership
    • Trademark & Licensing
    • The Joomla Foundation
    • Support us
    • Contribute
    • Sponsor
    • Partner
    • Shop
    • Downloads
    • Extensions
    • Languages
    • Get a free site
    • Get a domain
    • User Guide
    • Training
    • Certification
    • Site Showcase
    • Announcements
    • Blogs
    • Magazine
    • Community Portal
    • Events
    • User Groups
    • Forum
    • Service Providers Directory
    • Volunteers Portal
    • Vulnerable Extensions List
    • What is Joomla Academy?
    • What is Google Summer of Code (GSoc)
    • Joomla License FAQs
    • Developer Network
    • Developer Manual
    • Security Centre
    • Issue Tracker
    • GitHub
    • API Documentation
    • Joomla! Framework

Joomla! User Documentation

Download
Launch
  • User Guide
  • Tutorials
  • Contributors
  • Jobs To Do
  • Getting Started
    • Introduction to Joomla!
    • Joomla Core Features
    • Hosting Setup
    • Installing Joomla
    • Logging in to Joomla
    • Articles and Categories
    • Adding a Category
    • Adding an Article
    • Adding a Menu Item
    • Adding a Module
    • Keyboard Shortcuts
  • Articles
    • Articles: Categories
    • Articles: Filter Options
    • Articles: Featured
    • Articles: Archive
    • Articles: Delete
    • Article: Edit - Content
    • Article: Edit - Headings
    • Article: Edit - Images
    • Article: Edit - Links
    • Article: Edit - Lists
    • Article: Edit - Tables
    • Article: Edit - Pagination
    • Article: Edit - Read More
    • Article: Edit - Images and Links
    • Article: Edit - Options
    • Article: Edit - Publishing
    • Article: Edit - Metadata
    • Article: Edit - Configure Edit Screen
    • Article: Edit - Permissions
    • Article: Save to Menu
    • Article: Versions
    • Article: Preview
    • Article: Accessibility Check
    • Article: Access Restriction
    • Article: Check-in
  • Banners
    • Banners
  • Command Line Interface
    • Using the CLI
    • Joomla CLI Installation
  • Configuration
    • Global Configuration
    • Site Offline
    • SMTP mail and Gmail
    • The htaccess.txt file
    • The robots.txt file
    • Adding www to a URL
    • Disallow Image Hotlinking
    • Disallow Directory Listing
    • Password Protect Directories
  • Contacts
    • Contacts
    • Category List Override
  • Dashboards
    • Home Dashboard
    • Content Dashboard
    • Menu Dashboard
    • Components Dashboard
    • Users Dashboard
    • System Dashboard
    • Help Dashboard
  • Editors
    • Content Editors
    • TinyMCE Plugin
    • Codemirror Plugin
    • HTML Filters
  • Extensions
    • Installing an extension
    • The Joomla Extensions Directory
    • Vulnerable Extensions
  • Fields
    • Fields and Field Groups
    • Field Parameters
    • Calendar Field
    • Checkboxes Field
    • Colour Field
    • Editor Field
    • Integer Field
    • List Field
    • List of Images Field
    • Media Field
    • Note Field
    • Number Field
    • Radio Field
    • SQL Field
    • Text Field
    • Textarea Field
    • Url Field
    • User Field
    • Usergroup Field
    • Subform Field
    • Multilingual Sites
    • Template Overrides
  • Help
    • Guided Tours
    • Administrator Help
  • Hosting & Installation
    • Free Hosting
    • cPanel Hosting
    • Bitnami Installation
    • Raspberry Pi Installation
    • Auto Installer Installation
    • Moving Installation Directory
    • Local Setup
  • Hosting Notes
    • UNIX File Permissions
    • Windows File Permissions
    • Multiple Domains and Web Sites in a single Joomla! installation
    • Sub-Domains, Parked Domains and Add-On Domains
    • Nginx
    • Apache PHP Handlers
    • Optional Technical Requirements
  • Languages
    • Setup a Multilingual Site
    • Multilingual Associations
    • Language Overrides
    • Debugging a Translation
  • Local Setup
    • Local Hosting on Windows
    • Laragon Setup (Windows)
    • Local Hosting on Linux
    • Docker Setup
    • Local Test Setup
  • Mail Templates
    • Options
    • Editing
    • Mass Mail Users
    • Managing Template Layouts
    • Tags Cross-Reference
  • Media
    • Managing Media
    • Upload Delete Rename
    • Image Crop Resize Rotate
    • Media File Locations
    • Media: Options
    • Uploading SVG files
  • Menus
    • Adding a New Menu
    • Menu Items
    • Menu Item Types
    • Menu Item Order
    • Submenus
    • Menu Positions
    • Auto redirect guests to login
    • Archived Articles
    • Custom Administrator Menu
  • Migration & Upgrade
    • Version Update
    • Migration Basics
    • Can I Do this Myself?
    • Joomla 5 to 6
    • Joomla 4 to 5
    • Joomla 3 to 4
    • Joomla 2.5 to 3
    • Joomla 1.5 to 4
    • Joomla 1.0 to 1.5
  • Modules
    • Site Modules
    • Administrator Modules
    • Module Positions
    • Module Display by Menu Item
    • Modules inside Articles
    • Login Form
    • Module Styles
    • Archived Articles
    • Custom Module
  • News
    • News Feeds
    • News Display
  • Performance
    • Page Analysis
    • Monitoring Server Health
    • Monitoring Site Speed
    • Accessibility Checker
    • Managing 404 Errors
  • Plugins
    • About Plugins
    • Joomla! Update Notification
  • Privacy
    • Privacy Outline
    • Privacy Setup
    • Privacy Workflow
    • Cookies
  • Problems
    • Assorted Issues
    • Unsupported PHP Version
    • FatalError
    • Database Table Structure
    • Local Host Email
    • Database Connection
  • Reference
    • Joomla Licenses
    • Joomla! Copyright
    • What are web standards?
    • Where are the web pages?
  • Security
    • Best Practices
    • HTTP Headers
  • SEO
    • SEO Basics
    • Search Engine Friendly URLs
    • SEF URLs on Apache
    • SEF URLs on Nginx
    • Monitoring SEO
    • Using A Sitemap
    • Schema.org
  • Schema.org
    • An Introduction to Schema.org
    • Schema.org System Plugin
    • Accessing Schema.org Custom Fields
    • Article BlogPosting Type
    • Article Book Type
    • Article Event Type
    • Article JobPosting Type
    • Article Organization Type
    • Article Recipe Type
  • Smart Search
    • Smart Search Quickstart
    • Smart Search on Large Sites
    • Smart Search Layout Overrides
    • Smart Search Indexing
    • Smart Search FAQs
    • Smart Search Options
    • Smart Search Test Plan
  • System
    • Backup
    • Cache
    • Purge Expired Cache
    • Top 10 Stupid Tricks
  • Tags
    • Content Tags
  • Templates
    • Template Basics
    • Cassiopeia Customisation
    • Template Overrides
    • Template Layouts
    • Child Templates
    • Favicons
    • Template SVG Logos
    • Cassiopeia templateDetails.xml
    • Switching Templates
    • Home Page in Different Style
    • Module and Menu Styles
    • Font Awesome Fonts
  • Test Installations
    • Visual Studio Code Primer
    • Visual Studio Code Extras
    • Setting up Apache, PHP and MySQL manually
    • File Permissions: Linux
    • File Permissions: Windows
  • Users
    • Access Control
    • User Registration
    • User Profile
    • User Password Reset
    • Admin Password Recovery
    • User Password Security
    • WebAuthn Login
    • Multi-factor Authentication
    • Guest Access
    • Changing User's Groups
    • Login and Logout Redirects
    • User Actions Log
  • Workflows
    • Publishing Workflow
    • Workflow Example 1
    • Workflow Example 2
  1. You are here:  
  2. Home
  3. Documentation
  4. User Guides
  5. Site Building
  6. Problems

Problems

Assorted Issues

Redirect Issue After Upgrade to 4.0.6

That is a bug! Line 243 of plugins/system/redirect/redirect.php:

   $db->updateObject('#__redirect_links', $redirect, 'id');

should be

   $this->db->updateObject('#__redirect_links', $redirect, 'id');

A Page Displays with No Styling

Possible cause: A gzip section in .htaccess is compressing the already-compressed CSS and JavaScript files.

See this section of the .htaccess file:

## These directives are only enabled if the Apache mod_headers module is enabled.
## This section will check if a .gz file exists and if so will stream it
##     directly or fallback to gzip any asset on the fly
## If your site starts to look strange after enabling this, and you see
##     ERR_CONTENT_DECODING_FAILED in your browser console network tab,
##     then your server is already gzipping css and js files and you don't need this
##     block enabled in your .htaccess

...

If present, comment out or remove.

The List of Site Modules is Empty

Possible cause: The MySQL sort buffer size may be too small.

Using phpMyAdmin, go to Home → Variables → Sort buffer size.

It should be at least 256K and preferably 512K. On some shared hosting services, it may be set to 128K. Ask the hosting service to increase it.

Update Fails after Updating to 4.0.4

Cause: an essential change to the Update procedure affecting a small number of users.

Look in .htaccess for this line:

RewriteRule ^administrator/components/com_joomlaupdate/restore\.php$ - [L]

Change it to:

RewriteRule ^administrator\/components\/com_joomlaupdate\/extract\.php$ - [L]

For further information see:

Changes to Update Process that you need to be aware of

Articles Visible in Database and Frontend but Not Visible in Backend

This occurs when articles are imported directly into the database, which worked fine in Joomla 3 but not in Joomla 4. One user's solution is as follows:

I imported articles directly in the database into the #__content table like I often did in Joomla 3.
However in Joomla 4 they were not visible.

In Content > Categories, the category item counters counted the imported articles.
But they were not visible in Content > Articles.

I solved it by creating the necessary references in the #__workflow_associations table for each imported article:
item_id = article ID, stage_id = 1 and extension = com_content.article.

With this from another user:

This query should do it for you. Replace #__ with your own database prefix.

This query prevents duplicate items in the workflow associations table

INSERT INTO #__workflow_associations (item_id, stage_id, extension) 
SELECT c.id as item_id, '1', 'com_content.article' FROM #__content AS c 
WHERE NOT EXISTS (SELECT wa.item_id FROM #__workflow_associations AS wa WHERE wa.item_id = c.id);

Database Connection

Unable to Connect Error

If you receive an "Unable to connect to the database" error during installtion, verify that you have entered your MySQL/MariaDB database details correctly. The installation script will not allow you to continue unless the details are correct.

Note that you are not expected to create a database user and password during installation. They must be created first.

If the failure occurs after moving your site to another host, check the following items of your configuration.php file. The normal database settings are the following:

public $dbtype = 'mysqli';
public $host = 'localhost';
public $user = 'yourdbuser';
public $password = 'yourdbpassword';
public $db = 'yourdbname';
public $dbprefix = 't6q6i_';

If the failure occurs in a site that has been working there are a number of possible reasons, sometimes temporary and sometimes accidental.

The Most Common Faults

  1. Sometimes you will see this message if MySQL/MariaDB has stopped running on your server. Your server administrator may temporarily shut down MySQL/MariaDB to perform maintenance. In such circumstances, your site will likely return shortly.
  2. Your database user has been deleted. If this is the case, you will need to recreate your database user with the same username and password that existed when you first installed Joomla. Use your domain control panel to administer this or contact your server administrator.
  3. Your database username or password has changed.

Database Table Structure

Errors Reported

When updating from Joomla! 4, some users encountered an error message in the  Pre-Update Check for Joomla indicating an error with the database table structure, but finding no errors when checking database maintenance page: System → Maintenance → Database. 

What is the Cause

The problem is caused by an empty #__schemas table in the database. Most likely this occurs when the Joomla! instance is not installed by the official Joomla! installer but through a customized script that did not fill in all required data.

How to Fix

You can fix this by adding the missing value to the table. Using phpMyAdmin (or another database client), go to the #__extensions table. Search for name='files_joomla' and write down the extension_id (in our case 211).

Next, you need to know the latest SQL script which is installed. Go to administrator/components/com_admin/sql/updates/mysql and get the file name with the highest version. In this example, assume 4.0.3-2021-09-05.sql is the file name with the highest version. Now you have to add this in your insert query as the second value:

INSERT INTO `#__schemas` (`extension_id`, `version_id`) VALUES
(211, '4.0.3-2021-09-05');

or for PostgreSQL:

INSERT INTO "#__schemas" ("extension_id", "version_id") VALUES
(211, '4.0.3-2021-09-05');

Replace #__ with your database prefix before running the statements.

Then from the Administrator menu go to System → Maintenance → Database and fix the tables.

Now the update should work as expected.

FatalError

Introduction

From time to time Joomla may display an error page instead of the page you were expecting. There are two types of error pages:

  • The system error page has a red background. It is invoked if there is a serious error before the site or administrator template is rendered.
  • The template error page looks like the normal site or administrator template but the content area is replaced with an error message. This is invoked when the error occurs in content code.

System Error Page

System fatal error page

Template Error Page

Template error page

How to Resolve

There are a number of possible reasons for fatal errors to occur. Here are just a few:

  • A change in your host, for example an updated PHP version that is not compatible with Joomla or one of your Extensions.
  • A problem with disk space, memory usage or script time-out.
  • A newly installed or enabled Extension that is not compatible with Joomla. A bad plugin may disable Administrator login!

Enable Debug

If your Administrator interface is still working:

  • Go to Home Dashboard → System panel → Global Configuration.
  • In the System tab set Debug System to Yes
  • In the Server tab set Error Reporting to Maximum.
  • Then Save & Close.

If your Administrator interface is not working, edit the configuration.php file in the root folder of your Joomla website.

  1. Change the permissions from 444 or -r--r--r-- (no one has permission to write to the file) to 644 or -rw-r--r-- (only the Owner has permission to write).
  2. Edit the file with a text editor and set $debug to true and $error_reporting to 'maximum'.
  3. Save the file.

With the changes made, reload the page that was causing the error. Now you should see a stack trace. Example:

Template error page

The first item in the stack trace indicates where the error was triggered. Sometimes that is enough to identify the faulty Extension. Sometimes the faulty Extension is farther down the stack trace. It may not mean much to you but the stack trace is invaluable to the experts who answer questions in the Joomla Forums.

If you can identify the faulty Extension, disable it. You can do that using the Administrator interface if it is working. Otherwise, use phpMyAdmin to find the Extension in the #__extensions database table and set its enabled value to 0. You should not need to disable any core Joomla Extensions.

Forum Post Assistant

To help resolve problems you should download the Forum Post Assistant (FPA) and load it in the root of your Joomla website. The link to find it is also near the top of each Joomla Forum page. The FPA is a stand-alone PHP script that analyses your Joomla installation and tells you what might be wrong. Again, it might not mean much to you but the experts who answer questions in the Forums may ask to see it.

Cleaning Up

When your problem is resolved:

  1. Go to Home Dashboard → System panel → Global Configuration
  2. Select the System tab and set Debug System to No.
  3. Select the Server tab and set Error Reporting to System Default.
  4. Save & Close.
  5. Remove the Forum Post Assistant.

The configuration.php permissions are set to read-only (444 or r--r--r--) when the Global Configuration form is saved. There is no need to to do it manually.

Local Host Email

Local Hosting

Most ISPs block port 25 so you cannot send email from your own computer's SMTP server. This is to block spammers. If you don't intend to spam, you can use your ISP's mail server.

To use the email function from your ISP SMTP server even if you are hosting your own Joomla site on your own computer, sign in to your Joomla site as a Super User and navigate to the Server tab of the Global Configuration page. In the Mail section your data should look like the following:

From Email: This email address is being protected from spambots. You need JavaScript enabled to view it. (usually you)
From Name: SomeName

Mailer: SMTP
SMTP Host: smtp.charter.net (Whatever your ISP tells you to use for their SMTP servers)
Sendmail Path: /usr/sbin/sendmail
SMTP Port: 25
SMTP Security: STARTTLS
SMTP Auth: Yes (or No)
SMTP Username: johndoe (username at one of your email accounts at your ISP)
SMTP Password: trr33459 (password at one of your email accounts at your ISP)

Send a test message to check it is working.

The SMTP Username, Password, and Host are the same fields you enter when adding an Outlook Express Account, or Eudora, or any client email you may use on your computer.

You may run into problems with extensions that change the From address in the emails being sent out. For example, the ProjectFork extension sometimes sends emails as if they are coming from person in control of the project. This can cause a problem because some ISP SMTP servers will not allow a "from" address that does not match the user name (e.g. Rogers in Canada). You will get a message like this: "This email address is being protected from spambots. You need JavaScript enabled to view it.." A work around is to make sure that you always use a valid email address from you ISP for your users.

  1. Unsupported PHP Version
  1. You are here:  
  2. Home
  3. Documentation
  4. User Guides
  5. Site Building
  6. Problems

  • Joomla! on Facebook
  • Joomla! on X
  • Joomla! on Bluesky
  • Joomla! on Threads
  • Joomla! on YouTube
  • Joomla! on LinkedIn
  • Joomla! on Pinterest
  • Joomla! on Instagram
  • Joomla! on GitHub
  • Home
  • About
  • Community
  • Forum
  • Extensions
  • Services
  • User Guide
  • Developer
  • Shop
  • Accessibility Statement
  • Privacy Policy
  • Cookie Policy
  • Sponsor Joomla! with $5
  • Help Translate
  • Report an Issue
  • Log in
 A Digital Public Good.

© 2005 - 2026 Open Source Matters, Inc. All Rights Reserved.

Rochen
Joomla! Hosting by Rochen
We have detected that you are using an ad blocker. The Joomla! Project relies on revenue from these advertisements so please consider disabling the ad blocker for this domain.