我在线上服务器(域名网站)上的Codeigniter,PHP 7中运行脚本..从此URL读取的文本数次: http://finance.yahoo.com/d/quotes.csv?s=FTSEMIB.MI&f=d1ohgl1vs
仅在s =(股票代码)
中进行更改我的问题是如果我读了x URL,我的脚本就会读完所有的URL(符号) 但它在不规则的x循环循环中重启很多次。我没有理解这种行为。
max_execution_time是1500.没有错误出现,很多时候我只得到一个空白页。
我在codeigniter / controller中的脚本:
private function _get_current_yahoo_data($stock_symbol) {
$url = 'http://download.finance.yahoo.com/d/quotes.csv';
// ---- Stock Symbol ----
$url.= "?s=".$stock_symbol;
$url.= "&f=d1ohgl1vs";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
return $content;
}
public function update_current_stocks_data() {
$output = '';
$import_date = date('Y-m-d H:i:s');
$s1 = time();
$data = $this->data;
$stocks = $data['stocks'];
foreach($stocks as $s) {
$id_stock = $s->id;
$stock_symbol = $s->symbol;
$p1 = time();
$raw_quote_data = $this->_get_current_yahoo_data($stock_symbol);
$p2 = time();
$output.= $id_stock.' ';
$output.= ' __ Time: '.($p2 - $p1).' seconds<br>';;
}
$s2 = time();
$output.= '<br>Execution Time: '.($s2 - $s1).' seconds';
$this->stock_model->log($import_date, $output);
$output.= '<br>';
$output.= strlen($output);
$data['output'] = $output;
$this->load->view("simple_view", $data);
}
我正在查看我的日志表(从功能日志中填充),并且有几个日志行只启动一次脚本!
每个脚本大约需要100秒才能获得259个股票 如果我减少库存清单,例如230没有问题,脚本只运行一次。有趣的是,如果我每次阅读每259个股票脚本循环几次。