Hướng dẫn php return 500 response

My site having 4-5 static pages only. index.html & index.php both are there. index.html is working fine. If I change to index.php, it's giving 500 Internal Server Error. I don't know where is my mistake?

Nội dung chính

  • Not the answer you're looking for? Browse other questions tagged php html apache internal-server-error or ask your own question.
  • How can I print 500 error in PHP?
  • How do I trigger a 500 error?
  • How can I make PHP display the error instead of giving me 500 Internal server error?
  • Where can I find Internal server error in PHP?

Note: If I use .htaccess file with php_flag display_errors 1,

It's showing Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

If I use .htaccess file with empty,

It's showing Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

And if I give ../contact-us.php, it's showing correctly.

Thanks...

pnuts

57.2k9 gold badges83 silver badges135 bronze badges

asked Jul 17, 2013 at 7:10

6

500 Internal Server Error is shown if your php code has fatal errors but error displaying is switched off. You may try this to see the error itself instead of 500 error page:

In your php file:

ini_set['display_errors', 1];

In .htaccess file:

php_flag display_errors 1

answered Jul 17, 2013 at 7:14

HastHast

9,5066 gold badges46 silver badges69 bronze badges

4

A PHP file must have permissions set to 644. Any folder containing PHP files and PHP access [to upload files, for example] must have permissions set to 755. PHP will run a 500 error when dealing with any file or folder that has permissions set to 777!

answered Dec 16, 2015 at 3:10

6

I was having this problem because I was trying to connect to MySQL but I didn't have the required package. I figured it out because of @Amadan's comment to check the error log. In my case, I was having the error: Call to undefined function mysql_connect[]

If your PHP file has any code to connect with a My-SQL db then you might need to install php5-mysql first. I was getting this error because I hadn't installed it. All my file permissions were good. In Ubuntu, you can install it by the following command:

sudo apt-get install php5-mysql

answered Nov 17, 2014 at 19:35

It was changing the line endings [from Windows CRLF to Unix LF] in the .htaccess file that fixed it for me.

answered Nov 11, 2015 at 20:50

SaranSaran

3,7873 gold badges35 silver badges57 bronze badges

0

I know this question is old, however I ran into this problem on Windows 8.1 while trying to use .htaccess files for rewriting. My solution was simple, I forgot to modify the following line in httpd.conf

#LoadModule rewrite_module modules/mod_rewrite.so

to

LoadModule rewrite_module modules/mod_rewrite.so

Restarted the apache monitor, now all works well. Just posting this as an answer because someone in the future may run across the same issue with a simple fix.

Good luck!

answered Mar 8, 2014 at 18:15

WinterWinter

1,64018 silver badges26 bronze badges

Google guides me here but it didn't fix mine, this is a very general question and there are various causes, so I post my problem and solution here for reference in case anyone might read this later.

Another possible cause of 500 error is syntax error in header[...] function, like this one:

header[$_SERVER['SERVER_PROTOCOL'] . '200 OK'];

Be aware there should be space between server protocol and status code, so it should be:

header[$_SERVER['SERVER_PROTOCOL'] . ' 200 OK'];

So I suggest check your http header call if you have it in your code.

answered Jul 31, 2015 at 14:38

LinLin

4905 silver badges11 bronze badges

Not the answer you're looking for? Browse other questions tagged php html apache internal-server-error or ask your own question.

How can I print 500 error in PHP?

Quickly Show All PHP Errors The quickest way to display all php errors and warnings is to add these lines to your PHP code file: ini_set['display_errors', 1]; ini_set['display_startup_errors', 1]; error_reporting[E_ALL];

How do I trigger a 500 error?

htaccess, you can simply trigger a 500 directly: RewriteRule ^ - [R=500] . [In fact, any invalid syntax would do the job, eg crash ]. You don't need the separate folder, you could make the error conditional in your main .

How can I make PHP display the error instead of giving me 500 Internal server error?

Check the error_reporting , display_errors and display_startup_errors settings in your php. ini file. They should be set to E_ALL and "On" respectively [though you should not use display_errors on a production server, so disable this and use log_errors instead if/when you deploy it].

Where can I find Internal server error in PHP?

How to Resolve 500 Internal Server Error.

Step 1: Debugging the Issue. ... .

Step 2: Empty . ... .

Step 3: Debug . ... .

Step 4: Increase PHP Memory Limit. ... .

Step 5: Check if the Admin Works. ... .

Step 6: Revert Recent Changes. ... .

Step 7: Audit Your Plugins/Extensions/Modules. ... .

Step 8: Check File Permissions..

Chủ Đề