php类正在抛出redeclreation错误。声明只执行一次

php类正在抛出redeclreation错误。声明只执行一次,php,Php,致命错误:无法在第261行的/home/dokito/public\u html/dokito/lib/class\u twitter.php:261中重新声明check\u twitter\u search\u db()(之前在/home/dokito/public\u twitter.php中声明) 在有人询问之前,类只声明一次 已编辑:类仅包含一次 用代码编辑 --- lib/class_twitter.php (revision 8909) +++ lib/class_twi

致命错误:无法在第261行的/home/dokito/public\u html/dokito/lib/class\u twitter.php:261中重新声明check\u twitter\u search\u db()(之前在/home/dokito/public\u twitter.php中声明)

在有人询问之前,类只声明一次

已编辑:类仅包含一次

用代码编辑

--- lib/class_twitter.php (revision 8909) +++ lib/class_twitter.php (revision 5168) @@ -12,7 +12,7 @@ include_once "epitwitter/EpiCurl.php"; include_once "epitwitter/EpiOAuth.php"; include_once "epitwitter/EpiTwitter.php"; -//include_once "class.logging.inc.php"; +include_once "class.logging.inc.php"; /* // register at http://twitter.com/oauth_clients and fill these two define("TWITTER_CONSUMER_KEY", "Removed"); @@ -209,13 +209,12 @@ $user = ''; $fn_name = 'twitter_search_save'; $twitter_data = $this->twitter_search($keyword, $i, $geocode); - //print_r($twitter_data); + print_r($twitter_data); if($twitter_data != ''){ echo "We found data for profile id $id, total tweets are" . count($twitter_data); - if (count($twitter_data) > 1){ foreach($twitter_data as $d){ //print_r($d); - //die; + die; $status_ID = $db->escape($d->id_str); $published = $db->escape($d->created_at); @@ -224,7 +223,18 @@ $author_name = $db->escape($d->from_user); $user_id = $d->from_user_id; if(!$this->check_twitter_search_db($status_ID, $id)){ - $q = "INSERT INTO `twitter_search` (`keyword`, `status_ID`, `published`, `unix_timestamp`, `text`, `author_name`, `profile_id`, `user_id`) VALUES ('$keyword', '$status_ID', '$published', '$unix_date', '$text', '$author_name', '$id', '$user_id')"; + + //$klout_score = $this->klout_score($author_name); + //$user = $this->get_user($author_name); + /** + * Right Now No check. It wastes the API call. better to save data and discard the unwanted. + * This will speed up the process too. + * Check whether the USER is from INDIA + * + */ + //if($user['utc_offset'] == '19800'){ + $q = "INSERT INTO `twitter_search` (`keyword`, `status_ID`, `published`, `unix_timestamp`, `text`, `author_name`, `profile_id`, `user_id`) VALUES ('$keyword', '$status_ID', '$published', '$unix_date', '$text', '$author_name', '$id', '$user_id')"; + if($db->query($q)){ echo "Inserting tweet status $status_ID for profile $id"; echo "\n"; @@ -243,7 +253,11 @@ //} } } + if(sizeof($user) > 0){ + $this->save_user_lookup($user); + } } + else{ echo "No data found for profile_id $id"; } @@ -256,9 +270,8 @@ * * Check if STATUS is present in the DB with the same KEYWORD * -*/ - - function check_twitter_search_db($status_ID, $id){ + */ + function check_twitter_search_db($status_ID, $id){ global $db; $q = "SELECT * FROM `twitter_search` WHERE `status_ID` = '$status_ID' AND `profile_id` = '$id'"; //echo $q; @@ -270,7 +283,15 @@ return true; } } - + function check_twitter_status_db($status_ID){ + global $db; + $q = "SELECT * FROM `twitter_status` WHERE `status_ID` = '$status_ID'"; + if($db->get_row($q, ARRAY_A) != 0){ + return true; + }else{ + return false; + } + } function save_status($status_ID){ global $db; $fn_name = 'save_status'; @@ -475,8 +496,7 @@ } } -} - public function check_utc_offset($user_ID) { + public function check_utc_offset($user_ID) { global $db; $fn_name = "check_utc_offset"; $data = array(); ---lib/class_twitter.php(修订版8909) +++lib/class_twitter.php(5168版) @@ -12,7 +12,7 @@ 包括_once“epitwitter/EpiCurl.php”; 包括_once“epitwitter/epiouth.php”; 包括_once“epitwitter/epitwitter.php”; -//包括_once“class.logging.inc.php”; +包括_once“class.logging.inc.php”; /* //登记在http://twitter.com/oauth_clients 把这两个装满 定义(“推特消费者密钥”,“删除”); @@ -209,13 +209,12 @@ $user=''; $fn_name='twitter_search_save'; $twitter\u data=$this->twitter\u搜索($keyword、$i、$geocode); -//打印($twitter\u数据); +打印(twitter数据); 如果($twitter_data!=''){ echo“我们找到了个人资料id$id的数据,推文总数为”。count($twitter_data); -如果(计数($twitter_数据)>1){ foreach($twitter\u数据为$d){ //印刷研究(d美元); -//死亡; +死亡; $status\u ID=$db->escape($d->ID\u str); $published=$db->escape($d->created_at); @@ -224,7 +223,18 @@ $author\u name=$db->escape($d->from\u user); $user\u id=$d->from\u user\u id; 如果(!$this->check\u twitter\u search\u db($status\u ID,$ID)){ -$q=“插入到‘twitter搜索’(‘关键字’、‘状态ID’、‘已发布’、‘unix时间戳’、‘文本’、‘作者姓名’、‘概要文件ID’、‘用户ID’)值(‘关键字’、‘状态ID’、‘已发布’、‘unix日期’、‘文本’、‘作者姓名’、‘ID’、‘用户ID’)”; + +//$klout_分数=$this->klout_分数($author_name); +//$user=$this->get\u user($author\u name); + /** +*目前无需检查。这会浪费API调用。最好保存数据并丢弃不需要的数据。 +*这也将加快进程。 +*检查用户是否来自印度 + * + */ +//如果($user['utc\U offset']=='19800'){ +$q=“插入到‘twitter搜索’(‘关键字’、‘状态ID’、‘已发布’、‘unix时间戳’、‘文本’、‘作者姓名’、‘概要文件ID’、‘用户ID’)值(‘关键字’、‘状态ID’、‘已发布’、‘unix日期’、‘文本’、‘作者姓名’、‘ID’、‘用户ID’)”; + if($db->query($q)){ echo“为配置文件$ID插入tweet状态$status\u ID”; 回音“\n”; @@ -243,7 +253,11 @@ //} } } +如果(sizeof($user)>0){ +$this->save\u user\u lookup($user); + } } + 否则{ echo“未找到配置文件_id$id的数据”; } @@ -256,9 +270,8 @@ * *检查数据库中是否存在具有相同关键字的状态 * -*/ - -功能检查\u推特\u搜索\u数据库($status\u ID,$ID){ + */ +功能检查\u推特\u搜索\u数据库($status\u ID,$ID){ 全球$db; $q=“从'twitter\u search'中选择*,其中'status\u ID`='$status\u ID'和'profile\u ID`='$ID'; //echo$q; @@ -270,7 +283,15 @@ 返回true; } } - +函数检查\u twitter\u status\u db($status\u ID){ +全球$db; +$q=“从'twitter\u status'中选择*,其中'status\u ID`='$status\u ID'; +如果($db->获取行($q,数组A)!=0){ +返回true; +}其他{ +返回false; + } + } 功能保存状态($status\u ID){ 全球$db; $fn_name='save_status'; @@ -475,8 +496,7 @@ } } -} -公共功能检查utc偏移量($user\u ID){ +公共功能检查utc偏移量($user\u ID){ 全球$db; $fn\u name=“检查utc\u偏移量”; $data=array();
您包含了两次该文件。请尝试将
include()
require()
调用更改为
include\u once()
require\u once()

您必须将它们包含多次-尝试改用
require\u once
。@Evamulawski应该是(或曾经是)回答:)。还原了文件,但旧版本仍在运行。问题出在类本身。仍然无法找出问题所在:)