• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 357
  • Last Modified:

What could cause this 500 Internal Server Error???

A client of mine is using Apache web server and Perl CGI scripts to handle some actions.  One of the things they've already got setup is a perl script that uses the Authorize.NET API to charge credit cards and returns the results to a browser page.

Well, they're starting a different company that they want to keep seperate from the current one, but they want to use all of the same technology and procedures.  So what I've done is simply take the auth.pl file that gets called and made a copy called ddAuth.pl, so now it's its own file.  Within the file, the ONLY thing I changed is the username and password values held in their variables.  I then placed the ddAuth.pl file in the same directory as the auth.pl that is currently working.

When I try and run ddAuth.pl, though, I'm getting a 500 Internal Server Error:

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, bo@dealexpress.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Of course, bo@dealexpress doesn't work there any longer, and they didn't part ways under good terms....so he's not gonna be any help.  The thing I don't get is why I get this error only for this .pl file when it's almost exactly the same as the other one that works.  the application actually passes a bunch of variables along to it in querystring values, but even when i try and test simply by going to https://www.dealexpress.com/cgi-bin/ddAuth.pl I get the error.  If I go to auth.pl directly like that, I get a blank white page.

Any information on why this might be happening would be greatly appreciated.  thanks!
Andrew Angell
Andrew Angell
4 Solutions
could be a file permissions problem.  Does the new file not have execute access for whoever is trying to run it?  The old file could have permissions that are different than the one that was copied.  Instead of doing a direct copy "cp file1.pl file2.pl", try creating a blank script, copying the contents of the old .pl file, and placing it into the new file.  Also make sure you set the file properties exactly as the one that is working.
You should always start with the error.log. Can you find anything logged there?
Besides the username and password, you changed the name of the script file.  That can matter sometimes.

From what little I can find about this module, there is a corresponding file: shop.cfg that has config values used by this script.

One of those is $auth_refer, which sets the URL it will check for as the referrer.  I am guessing that the referring URL might be different for your two sites, so it may not pass the check.

This is all just a guess though.

check your error_log file to see more details about the problem, then have a look at the instructions in the following doc:

to see if you can fix the problem
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now