2016-03-30 5 views
5

पर एफबी ऐप को तैनात करना मैं हेरोोकू में नया हूं। कभी-कभी मैं एफबी के लिए हेरोकू पर एक ऐप तैनात करने की कोशिश कर रहा हूं लेकिन सफलता नहीं देखी है। मैंने इंटरनेट पर समाधान खोजने की कोशिश की है लेकिन चरण-दर-चरण मार्गदर्शिका नहीं मिली है, इसलिए मैं यहां पूछ रहा हूं।हेरोकू

मेरे Fb अनुप्रयोग कोड "index.php"

<?php 
session_start(); 
require_once __DIR__ . '/fbsdk/autoload.php'; 

$fb = new Facebook\Facebook([ 
'app_id' => '************', 
'app_secret' => '**********', 
'default_graph_version' => 'v2.4',]); 
$helper = $fb->getCanvasHelper(); 
$permissions = ['email']; 

try { 
if (isset($_SESSION['facebook_access_token'])) { 
$accessToken = $_SESSION['facebook_access_token']; 
} else { 
    $accessToken = $helper->getAccessToken(); 
} 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
} 

if (isset($accessToken)) { 

if (isset($_SESSION['facebook_access_token'])) { 
    $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); 
} else { 
    $_SESSION['facebook_access_token'] = (string) $accessToken; 
    $oAuth2Client = $fb->getOAuth2Client(); 
    $longLivedAccessToken = $oAuth2Client->getLongLivedAccessToken($_SESSION['facebook_access_token']); 
    $_SESSION['facebook_access_token'] = (string) $longLivedAccessToken; 
    $fb->setDefaultAccessToken($_SESSION['facebook_access_token']); 
} 

try { 
    $request = $fb->get('/me'); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    if ($e->getCode() == 190) { 
     unset($_SESSION['facebook_access_token']); 
     $helper = $fb->getRedirectLoginHelper(); 
     $loginUrl = $helper->getLoginUrl('https://apps.facebook.com/APP_NAMESPACE/', $permissions); 
     echo "<script>window.top.location.href='".$loginUrl."'</script>"; 
     exit; 
    } 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
} 

try { 
    $requestPicture = $fb->get('/me/picture?redirect=false&height=300'); 
    $requestProfile = $fb->get('/me'); 
    $picture = $requestPicture->getGraphUser(); 
    $profile = $requestProfile->getGraphUser(); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
} 

echo "<img src='".$picture['url']."'/>"; 
} else { 
$helper = $fb->getRedirectLoginHelper(); 
$loginUrl = $helper->getLoginUrl('https://apps.facebook.com/APP_NAMESPACE/'); 
echo "<script>window.top.location.href='".$loginUrl."'</script>"; 
} 

"composer.json"

{} 

आदेश मैं Git बैश पर इस्तेमाल किया

heroku create AppName 
mkdir AppName 
cd AppName 
git init 
git add . 
git commit -m "comment" 
heroku git:remote -a AppName 
git push heroku master 

git branch 
git commit -am "comment" 
git push heroku master 

सब कुछ अच्छी तरह से चला जाता है, Heroku PHP फ़ाइलों को संकलित करता है, फ़ाइल को तैनात करता है। लेकिन जब मैं Fb एप्लिकेशन या यहाँ तक कि Heroku एप्लिकेशन पते खोलने सीधे यह एक ** 403 अवरुद्ध "संदेश fbapp-2.herokuapp.com

निर्देशिका संरचना enter image description here

Buildpacks Heroku/php के रूप में स्थापित
मैं न दिखाता procfile या .htaccess फाइल

Heroku लॉग चलता

State changed from starting to up 
2016-04-05T15:30:14.413923+00:00 heroku[router]: at=info method=GET path="/"    host=fbapp-2.herokuapp.com request_id=ea94baf1-a433-4631-bbe5-7493cb7e137f wd="43.230.135.148" dyno=web.1 connect=0ms service=3ms status=403 bytes=373 
2016-04-05T15:30:14.399879+00:00 app[web.1]: [Tue Apr 05 15:30:14.395964 2016] [autoindex:error] [pid 82:tid 139840075028224] [client 1.3.2.3:58066] AH01276: Cannot serve directory /app/: No matching DirectoryIndex (index.php,index.html,index.htm) found, and server-generated directory index forbidden by Options directive 
2016-04-05T15:30:14.400023+00:00 app[web.1]: 1.3.2.3 - - [05/Apr/2016:15:30:14 +0000] "GET/HTTP/1.1" 403 209 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 OPR/36.0.2130.46 
2016-04-05T15:30:14.873648+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=fbapp-2.herokuapp.com request_id=8b65b3b6-2f82-4ab4-abb4-d4849c1ec225 fwd="43.230.135.148" dyno=web.1 connect=0ms service=1ms status=404 bytes=373 
2016-04-05T15:30:14.856297+00:00 app[web.1]: 1.3.2.3 - - [05/Apr/2016:15:30:14 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "http://fbapp-2.herokuapp.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 OPR/36.0.2130.46 
+0

"शून्य" वोट प्रश्न पोस्ट एक HEROKU पर उपयोग करने के लिए वर्तमान API के लिए चरण मार्गदर्शिका द्वारा कदम उठाएं। – Sourav

+0

हेरोकू में त्रुटियों के बड़े समूह के लिए एक एकल HTTP त्रुटि कोड का उपयोग करने की प्रवृत्ति है। इस मुद्दे की पहचान करने के लिए हमें आपको अपने हेरोकू खाते में लॉग इन करने और Heroku त्रुटि लॉग तक पहुंचने की आवश्यकता है। इसमें "एच" अक्षर से शुरू होने वाले त्रुटियों के कोड होंगे। आपकी प्रतिक्रिया के लिए –

+0

@PlanetScaleNetworks thnx .. त्रुटि लॉग जोड़ा गया। – Sourav

उत्तर

1

टी वह त्रुटि लॉग जो आपको मिल रहा है इंगित करता है कि आपका ऐप हेरोोक सर्वर पर/एप निर्देशिका में बैठा नहीं है और उस निर्देशिका में सेवा करने के लिए कुछ भी नहीं है। अपने पूरे एप्लिकेशन को वेब रूट से/ऐप निर्देशिका में स्थानांतरित करने का प्रयास करें और देखें कि यह कैसे जाता है, आपकी समस्या का समाधान करना चाहिए, अगर किसी अद्यतन त्रुटि लॉग के साथ उत्तर न दें।

1

इसलिए, जैसा कि मैंने त्रुटि से समझा है, आपके पास निर्देशिका के अंदर कोई अनुक्रमणिका फ़ाइल नहीं है, आप एक्सेस करने का प्रयास कर रहे हैं और निर्देशिका सूची अक्षम है, इसलिए अंत में आपको 403 त्रुटि मिल रही है।

मैं निर्देशिका के अंदर .htaccess बनाने आप के साथ फ़ाइल का उपयोग करना चाहते हैं की कोशिश करने का सुझाव है:

Options +Indexes 

कौन इस स्थान में निर्देशिका प्रविष्टि सक्षम कर रहा है।

1

लॉग आपको बता रहे हैं कि Heroku's Apache को /app फ़ोल्डर में कोई अनुक्रमणिका फ़ाइल नहीं मिल रही है। /app अंदर fbapp-2 की सामग्री ले जाएँ और के रूप में आप संगीतकार का उपयोग कर रहे आप वाकई अपाचे अपने संगीतकार config को यह जोड़कर सही अनुमतियां हैं बना सकता है: क्या आप इससे पहले कि

"scripts": { "post-install-cmd": [ "chmod -R 755 app/" ] }