23

I know that there is some 500 Internal Server Error when is 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?

moopet
  • 5,605
  • 1
  • 27
  • 35
Mohan
  • 4,055
  • 7
  • 31
  • 56
  • 1
    500 is a serious error! Often no details of any use are in the logs. You will have to look at what you have done to the script to cause a catastophic error – RiggsFolly Oct 24 '16 at 11:03
  • 2
    Because it's server error not PHP error. – S.I. Oct 24 '16 at 11:05
  • 1
    The problem is with the Php code because other pages of the same website load properly. I see this error only on one URL and i know that there is some problem with the php code. what i want to know is why it dosen't is display a fatal error message – Mohan Oct 24 '16 at 11:10
  • 1
    Do you use any framework? – Marcos Sedrez Oct 24 '16 at 11:22
  • 1
    Show us the code on your page, then we can help you. Otherwise we're just shooting in the dark. – Martin Oct 24 '16 at 11:28
  • 1
    Also tell us the set up of your localhost. XAMP? – Martin Oct 24 '16 at 11:37
  • this is not a PHP error, is thrown by the server before reaching PHP, check your Apache or Nginx configuration, look in their respective logs, eg /var/log/nginx/error.log, /var/log/apache2/error.log or /var/log/httpd/error.log – Elzo Valugi Oct 22 '17 at 21:38
  • @Mohan - I've just posted an answer to the question you asked a couple of years ago. I had the same problem a while ago on a whole set of files, and found it was a permissions problem on the files. In other words, the PHP code was fine, and the server was fine too. However, the limited permissions on the files were forbidding the server from displaying the content - instead generating the 500 Internal Server Error. Hope this belated answer helps others too. – TechnoCat Oct 18 '18 at 11:34

7 Answers7

10

It maybe solve your problem, check your files access level

$ sudo chmod -R 777 /"your files location"
nyn05
  • 494
  • 5
  • 16
5

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

TechnoCat
  • 509
  • 7
  • 14
4

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 chanted 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.

Jaime Montoya
  • 4,817
  • 4
  • 48
  • 75
2

Such kind of error normally happens when you try using functions like php_info() wrongly.

<?php 
     php_info(); // 500 error
     phpinfo(); // Works correctly
?>

A close look at your code will be better.

ikwuje
  • 39
  • 5
2

If you are using the codeigniter framework and are testing the project on a localhost, open the main Index.php file of your project folder and find this code:

define('ENVIRONMENT', 'production');

Change it to

define ('ENVIRONMENT', 'development');

Because same this ENVIRONMENT is in your database.php file under config folder. like this:

 'db_debug' => (ENVIRONMENT! == 'development')

So the environment should be the same in both places and problem will be solved.

Safdar Ali
  • 31
  • 4
2

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
Clarius
  • 677
  • 6
  • 5
0

First of all check error log in the path that your webserver indicates. Then maybe the browser is showing friendly error messages, so disable it.

https://superuser.com/questions/202244/show-http-error-details-in-google-chrome

Community
  • 1
  • 1
mdf092
  • 35
  • 2