Moodle is one of the best open-source learning platforms. While navigating through Moodle have you got a message “500 internal server error”?
Moodle 500 Internal server error usually occurs due to the bad rewrite rules, wrong PHP settings, etc.
At Bobcares, we often fix this error for our customers who use Moodle, as a part of our Server Management Services.
Today let’s see this error in detail and discuss the ways our Support Engineers solve this for our customers.
What is Moodle 500 internal server error?
Moodle (modular object-oriented dynamic learning environment) is a free, open-source learning platform that uses PHP as a programming language. Again, 500 Internal Server Error is a server-side error. This code means that something has gone wrong on the webserver. But the server cannot specify the exact problem.
From our expertise in managing Moodle, the major possibilities for this error include:
1. Wrong rewrite rules
By default, any syntax error in the .htaccess or httpd.conf files leads to an internal server error. Similarly, the incompatible directive also causes this error. That is, it happens when we add the wrong directive in .htaccess or httpd.conf files.
2. Incorrect PHP settings
In the same way, incorrect PHP settings can also cause Moodle 500 errors.
For example, PHPsuexec is an Apache module used to increase the security of the site on the hosted system. Here the server does not support .htaccess files.
Any change in permission or ownership of the moodle directory also results in an error. Here you may also see a 403 Forbidden error.
How we fix the internal server error?
So far we have seen the reasons for the 500 error. Every reason points to bad settings in server-side files. When our customers face such an error, our Support Team begins checking by enabling debug mode.
For this, we,
- Log in to Moodle.
- Navigate to Site admnistration>>Development>>Debugging.
- Enable the checkbox ‘Display debug messages’.
- Choose the option ‘ALL: Show all reasonable PHP debug messages’ from the drop-down at ‘
After making these changes our Support Engineers check for the logs. Logs give the exact reason for the error.
Now let’s see the fixes for two major causes:
1. Fixing rewrite rules
Our experts check the .htaccess or httpd.conf files and correct the syntax error.
They also check for the directive, if it was found incompatible with the server version, they fix it for our customers.
2. Correcting the PHP settings
Some customers use PHPsuexec, which does not support .htaccess file. Additionally, the error may be with permissions of the moodle directory.
So, our Dedicated Engineers set permissions of script folders to 755 using the command
chmod -R -type d 755 moodle
Here we use a php.ini file instead of a .htaccess in the moodle directory. The syntax used in the php.ini file is different from that of a .htaccess file.
[ Need help in fixing Moodle internal server error – We will fix it for you ]
In short, Moodle 500 internal server error is a server-side error. It happens mainly due to error in the .htaccess file, wrong permissions, etc. We saw other possible causes of errors and how our Support Engineers fixed it for our customers.