2012-06-27 48 views
0

我使用hybridauth擺脫社交網站如Facebook,Twitter等userinformation PHP lib to connect 我配置使用install.php了這是在hybridauth文件夾本身可用。如何解決這個「Hybriauth配置錯誤。」?

當我試圖用一些實例,可以在自己的應用程序,我得到以下錯誤

Hybriauth configuration error. 

Original error message: Hybriauth config does not exist on the given path. 

這裏是我的全碼:(的index.php)

<?php 
    // start a new session (required for Hybridauth) 
    session_start(); 

    // change the following paths if necessary 

    //require_once(str_replace('//','/',dirname(__FILE__).'/') .'folder/sub.php'); 

    $config = dirname(__FILE__).'hybridauth/config.php'; 
    require_once("hybridauth/Hybrid/Auth.php"); 
    try{ 
    // create an instance for Hybridauth with the configuration file path as parameter 
    $hybridauth = new Hybrid_Auth($config); 
    // try to authenticate the user with twitter, 
    // user will be redirected to Twitter for authentication, 
    // if he already did, then Hybridauth will ignore this step and return an instance of the adapter 
    $twitter = $hybridauth->authenticate("Twitter"); 

    // get the user profile 
    $twitter_user_profile = $twitter->getUserProfile(); 
    echo "Ohai there! U are connected with: <b>{$twitter->id}</b><br />"; 
    echo "As: <b>{$twitter_user_profile->displayName}</b><br />"; 
    echo "And your provider user identifier is: <b>{$twitter_user_profile->identifier}</b><br />"; 

    // debug the user profile 
    print_r($twitter_user_profile); 

    // exp of using the twitter social api: return users count of friends, followers, updates etc. 
    $account_totals = $twitter->api()->get('account/totals.json'); 

    // print recived stats 
    echo "Here some of yours stats on twitter: " . print_r($account_totals, true); 

    // disconnect the user ONLY form twitter 
    // this will not disconnect the user from others providers if any used nor from your application 
    echo "Logging out.."; 
    $twitter->logout(); 
    } 
    catch(Exception $e){ 
    // Display the recived error, 
    // to know more please refer to Exceptions handling section on the userguide 
    switch($e->getCode()){ 
    case 0 : echo "Unspecified error."; break; 
    case 1 : echo "Hybriauth configuration error."; break; 
    case 2 : echo "Provider not properly configured."; break; 
    case 3 : echo "Unknown or disabled provider."; break; 
    case 4 : echo "Missing provider application credentials."; break; 
    case 5 : echo "Authentification failed. " 
    . "The user has canceled the authentication or the provider refused the connection."; 
    break; 
    case 6 : echo "User profile request failed. Most likely the user is not connected " 
    . "to the provider and he should authenticate again."; 
    $twitter->logout(); 
    break; 
    case 7 : echo "User not connected to the provider."; 
    $twitter->logout(); 
    break; 
    case 8 : echo "Provider does not support this feature."; break; 
    } 

    // well, basically your should not display this to the end user, just give him a hint and move on.. 
    echo "<br /><br /><b>Original error message:</b> " . $e->getMessage(); 
    } 

我的文件夾結構如下:

project folder : 
slingshare 
    --hybridauth 
     -- Hybrid 
      --Auth.php 
    --config.php 
index.php 

因爲我對這個很新的傢伙PHP我無法找到它出來請幫我找到這個。

問候 託尼

回答

4

dirname會給你像/my/website/scripts沒有結束斜線。

,所以你需要對你的代碼更改爲:

$config = dirname(__FILE__).'/hybridauth/config.php'; 

順便說一句,可以考慮使用你需要的絕對路徑()S和包括()秒

+0

感謝它幫我 – SAR

+0

沒有probs託尼,歡迎來到PHP:P這會發生很多。 –