Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The localhost page isn’t working localhost is currently unable to handle this request. HTTP ERROR 500

I know that there is some 500 Internal Server Error when I see this page,

The localhost page isn’t working localhost is currently unable to handle this request. HTTP ERROR 500

I have already set the variables display_errors: On and error_reporting : E_ALL in my php.ini config file and restarted the server.

I still see the same page and not the actual error message that is causing the Internal Server Error. Why?

like image 986
Mohan Avatar asked Oct 24 '16 11:10

Mohan


People also ask

What does HTTP Error 500 mean?

The HTTP status code 500 is a generic error response. It means that the server encountered an unexpected condition that prevented it from fulfilling the request.


Video Answer


4 Answers

This might solve your problem: Check your files access level

$ sudo chmod -R 777 /"your files location"
like image 156
nyn05 Avatar answered Oct 09 '22 10:10

nyn05


Here's an answer to a 2-year old question in case it helps anyone else with the same problem.

Based upon the information you've provided, a permissions issue on the file (or files) would be one cause of the same 500 Internal Server Error.

To check whether this is the problem (if you can't get more detailed information on the error), navigate to the directory in Terminal and run the following command:

ls -la

If you see limited permissions - e.g. -rw-------@ against your file, then that's your problem.

The solution then is to run chmod 644 on the problem file(s) or chmod 755 on the directories. See this answer - How do I set chmod for a folder and all of its subfolders and files? - for a detailed explanation of how to change permissions.

By way of background, I had precisely the same problem as you did on some files that I had copied over from another Mac via Google Drive, which transfer had stripped most of the permissions from the files.

The screenshot below illustrates. The index.php file with the -rw-------@ permissions generates a 500 Internal Server Error, while the index_finstuff.php (precisely the same content!) with -rw-r--r--@ permissions is fine. Changing the permissions on the index.php immediately resolves the problem.

In other words, your PHP code and the server may both be fine. However, the limited read permissions on the file may be forbidding the server from displaying the content, causing the 500 Internal Server Error message to be displayed instead.

enter image description here

like image 30
TechnoCat Avatar answered Oct 09 '22 11:10

TechnoCat


I was using CakePHP and I was seeing this error:

This page isn’t working
localhost is currently unable to handle this request.
HTTP ERROR 500

I went to see the CakePHP Debug Level defined at app\config\core.php:

/**
 * CakePHP Debug Level:
 *
 * Production Mode:
 *  0: No error messages, errors, or warnings shown. Flash messages redirect.
 *
 * Development Mode:
 *  1: Errors and warnings shown, model caches refreshed, flash messages halted.
 *  2: As in 1, but also with full debug messages and SQL output.
 *  3: As in 2, but also with full controller dump.
 *
 * In production mode, flash messages redirect after a time interval.
 * In development mode, you need to click the flash message to continue.
 */
Configure::write('debug', 0);

I had to change the value from 0 to 1:

Configure::write('debug', 1);

After this change, when trying to reload the page again, I saw the corresponding error:

Fatal error: Uncaught Exception: Facebook needs the CURL PHP extension.

Conclusion: The solution in my case to see the errors was to change the CakePHP Debug Level from 0 to 1 in order to show errors and warnings.

like image 6
Jaime Montoya Avatar answered Oct 09 '22 10:10

Jaime Montoya


So, eventually I did that thing that all developers hate doing. I went and checked the server log files and found a report of a syntax error in line n.

tail -n 20 /var/log/apache2/error.log
like image 5
Clarius Avatar answered Oct 09 '22 11:10

Clarius