Many website owners will have come across the “500 Internal Server Error” at some point in time. While this isn’t a very archaic error message, the more significant problem is that it may arise from many potential problems.
Thankfully, where PHP is concerned, the error is very specific – an inability to connect a request to the PHP script in question. For example, if a website visitor attempts to view a page and the connection times out, this error message will be displayed.
Resolving “500 Internal Server Error” While Running PHP
Although the root issue is known, what exactly is causing the connection to timeout can vary. Here are some of the more common methods to resolve this problem.
1. Reload or Refresh the Page
On occasion, the timeout may occur sporadically. Attempt to refresh the page a few times – if the web page can load at least once, an overloaded server likely causes the error.
Websites require resources to serve content to visitors. If your server lacks the resources to process the current volume of web traffic, you may see this error cropping up. To verify this, launch your SPanel dashboard and use the “Server Status” link to check resource usage trends.
If your server is consuming many resources, provisioning for more will likely resolve your 500 Internal Server Error.
2. Check File Permissions
Another possibility is that the incorrect permissions have been set on the PHP file, causing the error. Verifying this will require you to connect to your server terminal (See “Connect to my server with SSH”) and check log files.
Your log files will generally be located in “/usr/local/apache/logs/error_log”
If you note messages on “SoftException in Application,” the error message is likely caused by incorrect file permission settings. To resolve this, change the permissions for the related PHP file using the File Manager tool in SPanel.
3. Check .htaccess Code
In some cases, the “500 Internal Server Error” may be caused by specific instructions set in your .htaccess file. This file provides high-level web server configurations. Both you and some web applications may amend the file, potentially causing errors.
It is advisable to move all PHP-specific instructions out of the .htaccess file and into php.ini. The php.ini file is a custom configuration file that you can build for individual applications requiring PHP to run.