I run most of my PHP scripts using IIS on my home computer. And recently when uploading the code to a different server, the code completely does not even work. I receive the following error:
Redirection limit for this URL exceeded. Unable to load the requested page. This may be caused by cookies that are blocked.
Does anyone know what the problem may be? The scripts won’t run, the pages won’t display, and I have to get this project out the door. Thanks in advance.
Going from IIS to Linux is likely going to get you a few errors if you’re sloppy (or inexperienced) with your code…
To start with, Linux/Unix is case-sensitive, so make sure all of your paths use the right filename (with case).
Also, PHP on IIS default to showing only errors, whereas in Linux, it shows errors and warnings. A function that takes an argument in Linux will throw a warning if no argument is provided, where it will run just fine on the default IIS install.
The redirections thing is odd , but I have a hunch what is really happening is that your script is generating errors (either 404 - not found - or 500 - internal server error), and Apache is trying to redirect you to the error page, which it can’t find, so it redirects to the not-found page, which it can’t find, etc, etc, etc. Check the apache error log (/var/log/httpd/error_log if your host uses Ensim WEBppliance and you can grab it directly through FTP, or download the logfile through the control panel for newer WEBppliance and CPanel users). Anything that has error code 404 or 500 should be inspected, and perhaps, get rid of the .htaccess file that’s specifying the 404 error document if you’ve created one (or your hosting solution does it automatically).