Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理php中的重定向循环错误_Php_Codeigniter - Fatal编程技术网

如何处理php中的重定向循环错误

如何处理php中的重定向循环错误,php,codeigniter,Php,Codeigniter,我正在使用一个php函数,它可以多次重定向到标题。运行21次左右后,给出以下错误: "This website has a redirect loop" and stops running 下面是我的重定向代码: header('Location: http://myfunction.com/index.php/test/mytestfunction?days=60&start='. ($start + 100) .'&end='. ($end + 100)); 这里$st

我正在使用一个php函数,它可以多次重定向到标题。运行21次左右后,给出以下错误:

"This website has a redirect loop" and stops running 
下面是我的重定向代码:

header('Location: http://myfunction.com/index.php/test/mytestfunction?days=60&start='. ($start + 100) .'&end='. ($end + 100));
这里$start和$end是从数据库获取数据的限制。项目位于codeigniter上

请帮帮我


谢谢

这听起来简直是疯了。页面重定向旨在出于各种原因将用户转移到站点的不同部分。它们不应该被用作迭代的手段。这就是循环的目的


另一种可能性是,您的
header
命令位于一个脚本中,该脚本在任何情况下都没有包装,然后重定向到自身(或另一个重定向回的脚本)。

我认为您需要这样的脚本(请参阅下面的代码)。您对HTTP头所做的一切毫无意义

$url = 'http://myfunction.com/index.php/test/mytestfunction';
$ch = curl_init($url . '?' . http_build_query(array(
    'days' => 60,
    'start' => $start,
    'end' => $end,
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$response = curl_exec($ch);
curl_close($ch);

这么多重定向的目的是什么?请添加更多的代码,这样我们就知道为什么它在循环中重定向了。是的,我同意你的看法。但我的任务与这一观点大相径庭。它是一个运行后端的脚本,每天只更新一次数据库,其中包含数百万数据。为什么“后端脚本”使用
标题
并在浏览器中运行?如果您需要一个脚本每天运行一次,那么您应该使用CLI和
cron
来运行它。我的客户告诉我首先在浏览器上运行它,向他显示它正常工作,然后我应该使用cron job即使如此,
header
重定向在CLI脚本中也没有位置。除非脚本在浏览器中运行,否则它们没有意义。我感觉到你试图使用重定向作为程序控制的一种形式,这是完全错误的。