PHP powers more than 80% of the web.
And Redirection limit reached is one of the common errors many PHP users get.
Warning: file_get_contents: failed to open stream: Redirection limit reached, aborting
Here we have listed the most common reasons that we have seen for this error and how we fix them at Bobcares.
1) Exceeded redirect limit
Google recommends limiting the number of redirects to one.
That said, we have seen websites having multiple redirects.
By default, PHP redirect limit is 20. But there are also websites with PHP limit 1 or 2. No matter what the value, when PHP reaches its limit, it gives error.
Multiple redirects that cause the limit to exceed often happen during :
Relocation of certain pages.
For e.g., Years ago you might have made redirects to a certain page. That page just got relocated. So, the old redirects are now pointing to a page which itself is redirecting to another page.
Website migration involving switch from HTTP to HTTPS.
For e.g., There may be a site wide redirect from non-www to www. So, a user typing example.com
is redirected to www.example.com
. After migration, this gets redirected to https://www.example.com
.
Similarly, website domain change etc. At Bobcares, we resolve such issues by :
- Ensuring that the redirects go directly where they need to without unnecessary hops in between.
- Changing the value for
max_redirect
to increase the value of PHP redirect limit. - Performing code optimization for application level changes.
- And so on.
Exceeded redirect limit covers a wide area of potential problems and solutions. So, if you need help with a similar issue, then click here to contact our Website Administration Services.
2) file_get_contents() problem with session data
This is an in-built function PHP provides to handle files. It is the preferred way to read contents of a file into a string.
But some applications may use this function to fetch URLs. And if in such cases sessions are involved, then it may give an error.
This is because it is a simple function which not efficient in handling session information. This leads to the request getting redirected. The redirection may happen multiple times until PHP reaches its limit.
Also, sometimes an application might categorize the request as a bot. It then redirects the request. In such cases, timeout happens due to the multiple redirects.
So, to resolve such issues, we suggest the use of PHP/cURL as it provide far more options for session handling.
Conclusion
Today we have read about PHP Redirection Limit Reached error. We have discussed about two of the common reasons for this error and how our 24/7 Website Support fix them at Bobcares.
0 Comments