我正在使用 Codeigniter 并包含 Facebook 库来实现 Facebook 身份验证。我将库自动加载为:
$autoload['libraries'] = array('database', 'session', 'facebook_lib', 'aescryption');
facebook_lib.php 库正在调用 facebook.php(它又调用 base_facebook.php)。现在,这使网站变得非常缓慢。在我的本地主机上加载页面大约需要 4-8 秒。我以前不知道这一点。页面加载速度非常慢。然后我分析了应用程序,发现即使我只是调用一个空白页面,它也确实很慢。然后我认为发生了其他事情,我的第一个想法是自动加载配置。如果我删除 'facebook_lib' 库,那么页面会立即加载。
有什么想法可以在这里做吗?有没有人遇到过类似的问题?
谢谢。
更新:
这是我在 facebook 库中的代码: $this->ci =& get_instance();
// Create our Application instance
//(replace this with your appId and secret).
$this->ci->load->file(APPPATH.'/third_party/facebook.php');
$this->data['facebook'] = new Facebook(array(
'appId' => $this->ci->config->item('fb_app_id'),
'secret' => $this->ci->config->item('fb_secret_key')));
$this->data['fb_user'] = $this->data['facebook']->getUser();
if ($this->data['fb_user']) {
try {
$this->data['$user_profile']=$this->data['facebook']->api('/me');
$this->ci->load->model('login_signup_model');
$this->ci->login_signup_model->storeFBUser($this->data['$user_profile']['id']);
return true;
} catch (FacebookApiException $e){
error_log($e);
$this->data['fb_user']=null;
}
}