我写了7-8个php脚本,这些脚本从远程服务器中提取数据并将其存储到我们的服务器中。每个脚本一次插入/更新大约3000-4000条记录。当我从浏览器中命中任何脚本时,它都可以正常工作(单个脚本),但是如果我尝试通过编写标头('Location:http://www.example.com/')一起调用所有文件,则会中断。谁能建议我一个更好的方法来解决这个问题。有人建议我使用多线程,而我尚未使用线程,所以任何人都可以帮助我提供更好的方法/解决方案。 TIA。
答案 0 :(得分:0)
注意:您当前的代码不起作用,因为header('Location: example.com')
将浏览器重定向到example.com
,这意味着您的php脚本已完成运行,并且浏览器现在处于{{1 }}
解决方案1:
如果php.ini中example.com
为“开”,则可以使用以下命令执行它们:
allow_url_fopen
,依此类推...
解决方案2:
<?php
$url1 = file_get_contents('http://www.example.com/1.php');
$url2 = file_get_contents('http://www.example.com/2.php');
?>
按如下方式使用它:
function initCURL($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$data = curl_exec($curl);
curl_close($curl);
return $data;
}
在这些示例中,<?php
$url1 = initCURL('http://www.example.com/1.php');
$url2 = initCURL('http://www.example.com/2.php');
?>
和$url1
将携带脚本返回的所有数据。