我希望将我的应用程序数据(股票)与实时应用程序的数据同步。我正在使用Yahoo API ..这是我的代码..
// $companyInfo ; holds company information like symbol
foreach($companyInfo as $singleCompany)
{
$feedUrl = 'http://finance.yahoo.com/d/quotes.csv?s='.$singleCompany['Company']['Symbol'].'&f=l1c6gho&e=.csv';
$handle = fopen($feedUrl, "r");
$liveCompanyData = fgetcsv($handle);
if(!empty($liveCompanyData) && isset($liveCompanyData))
{
/*** here I parse data n save it in db ***/
}
fclose($handle);
}上面的代码将适用于较小的数据集(即记录30左右),而对于较长的记录集,它将提示我Maximum execution time of 60 seconds exceeded in .....我如何做到这一点?
注意:我使用的是cakephp框架。
发布于 2011-07-17 03:45:19
您可以使用set_time_limit function
if(!ini_get('safe_mode') ) {
set_time_limit(120);
} 但是,如果PHP处于安全模式,它将无法工作(请参阅if)。在这种情况下,您必须关闭安全模式,或者限制脚本执行时间-例如,一次只处理一个公司,并为每个公司单独执行您的脚本。
既然你说你正在使用CakePHP,我假设你的代码运行在用户请求的脚本中--这不是最好的设计,因为它实际上是一个服务脚本。在这种情况下,使用不同的php -f your_script.php配置文件(通常是/etc/php5/cli/php.ini),如果你有编辑它的权限/特权,那么修改其中的max_execution_time parameter (它只会影响php-cli脚本)。
https://stackoverflow.com/questions/6718491
复制相似问题