A white page or a page with a 500 Internal Server Error is, in fact, either a .htaccess issue to a PHP fatal error in disguise.
First, let's see if it is a .htaccess
issue. Try renaming the .htaccess
file in your site's root to htaccess.bak
. If there is a .htaccess
file in the site's administrator directory, try renaming it as well. If that solves the problem, the issue was with a directive in your .htaccess
file. We'd recommend that you try removing directives from your .htaccess
until you find the one which causes the problem.
If that doesn't help, the error you are receiving is in fact a PHP error in disguise. First, check your server's error logs (not the access logs) immediately after visiting the page which throws the error. There should be an exact description of the PHP fatal error which occurred. Sometimes you can find the error messages in files called error_log
or error.log
inside the site's root and/or administrator
directories. If unsure about the error log location, please consult your host. Most likely the error logs are available in your site's hosting control panel.
If your host does not give you access to the error logs and you have access to the Joomla! administrator area, please log in to your site's back-end, go to Global Configuration, click on the Server tab and set the Error Reporting to Development. Try visiting the problem page again.
If you still get a blank page, edit your configuration.php
file and put the following code right after the final closing curly brace ( this is what a curly brace looks like --> }
) but before the closing PHP tag (it looks like ?>
that is a question mark and a greater-than sign):
ini_set( 'display_errors', true );
error_reporting( E_ALL );
Try visiting the problem page again.
If you still get a white page, please remove the two lines from your configuration.php
file. Edit the .htaccess
file in your site's root. If you don't have a file named .htaccess
create a new one. Please note that that htaccess.txt
is a DIFFERENT FILE and will not work. Add the following to the end of the file:
php_flag display_errors On
php_value error_reporting 32767
and retry loading the problem page.
If you still get a white page, remove the two lines from your .htaccess file. Now, create a file called php.ini with the following content:
display_errors=on
error_reporting=E_ALL
and upload it into your site's root and your site's administrator directory. Retry loading the problem page.
If that fails again, remove the php.ini file and create a file named .user.ini (note that it's dot user dot ini, the leading dot is important) with the contents:
display_errors=on
error_reporting=E_ALL
and upload it into your site's root and your site's administrator directory. Wait for 10 minutes. Waiting is important, .user.ini
files do not apply immediately. Retry loading the problem page.
IMPORTANT: Sometimes the error won't show. Edit your configuration.php
and find the line starting with public $error_reporting
and set it to:
public $error_reporting = 'development';
This instructs Joomla! to enable maximum error, warnings and notices verbosity. In 99.9% of cases it will result in the error messages being shown on the browser.
If you still get a white page, delete the php.ini
or .user.ini
file your created and consult your host. They have to provide you the PHP error message, file and line it occurs (along with the error's backtrace) themselves.
Please note that if you can not understand what the PHP error message means, just copy and paste it here verbatim so that we can take a look and point you to the right direction.
Nicholas K. Dionysopoulos
Lead Developer and Director
🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!