2016-09-28 1 views
1

Ich habe erfolgreich Ultrahook installiert. Ich musste dies in usr/local/bin auf Mac El Capitan installieren, weil ich es (aufgrund der neuen Sicherheitsrichtlinie) nicht in usr/bin installieren konnte.Ultrahook und MAMP PRO 4.0.5 in Codeigniter auf Mac El Capitan

Wenn ich den Befehl ausführen:

ultrahook <my.namespace> https://localhost:8890 

ich diese Meldung:

Authenticated as <namespace_name> 
Forwarding activated... 
http://<namespace_name>.ultrahook.com ->https://localhost:8890 

So scheint es, dass alles ist und läuft.

Aber wenn ich einen Test-Benachrichtigung von Streifen über diese senden oben Webhook dem folgenden Fehler erwähnt im Terminal zeigt:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:878:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:878:in `open' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:878:in `block in connect' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/timeout.rb:52:in `timeout' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:877:in `connect' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:862:in `do_start' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:851:in `start' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1373:in `request' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1396:in `send_entity' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1184:in `post' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:127:in `http_post' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:116:in `process_request' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:90:in `process' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:160:in `block (3 levels) in init_stream' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/protocol.rb:411:in `call_block' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/protocol.rb:402:in `<<' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/protocol.rb:106:in `read' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:313:in `read_chunked' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:276:in `block in read_body_0' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:269:in `inflater' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:274:in `read_body_0' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:201:in `read_body' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:155:in `block (2 levels) in init_stream' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1419:in `block (2 levels) in transport_request' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http/response.rb:162:in `reading_body' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1418:in `block in transport_request' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1409:in `catch' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1409:in `transport_request' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:1382:in `request' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:153:in `block in init_stream' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:852:in `start' 
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:582:in `start' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:148:in `init_stream' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/lib/ultrahook/client.rb:65:in `start' 
    from /Library/Ruby/Gems/2.0.0/gems/ultrahook-0.1.4/bin/ultrahook:6:in `<top (required)>' 
    from /usr/local/bin/ultrahook:22:in `load' 
    from /usr/local/bin/ultrahook:22:in `<main>' 

ich vorher noch nie Edelsteine ​​Rubin oder Rubin verwendet haben, so kann ich nicht herausfinden, was das alles bedeutet und wie man dieses Problem löst.

Jede Hilfe wird viele

Dank

In der Zwischenzeit geschätzt werden, während ich viele Kombinationen ausprobiert, aber dieser Fehler auch nach der Registrierung des Endpunkts:

ultrahook stripe http://site-gen:8888/stripe19440207 
Authenticated as bootsweaver 
Forwarding activated... 
http://stripe.bootsweaver.ultrahook.com -> http://site-gen:8888/stripe19440207 

den Ersten Antwort es bleibt nur das gleiche:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/net/http.rb:878:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError) 

Bitte hilf mir dabei, ich bin schon seit gestern damit beschäftigt und ich habe keine Ahnung davon.

Ich kann nicht mit meiner Arbeit weitermachen und ich stecke fest.

Danke Jungs

Antwort

1

Ok! Es hat zwei Tage gedauert, um herauszufinden, was schief gelaufen ist und jetzt funktioniert alles richtig.

Also, als ein engagierter SO Benutzer ich fühle, dass ich teilen muss, was ich herausgefunden habe.

Zuerst denken zu erwähnen ist, dass Ruby den Fehler verursacht eine sehr allgemeine Art und Weise zu Bericht hat und wenn man nichts weiß nicht, (wie ich) über Rubin dann haben Sie ein Problem.

Selbst wenn ich mir den Ruby Code durch die beschwerende Methode initialize angeschaut habe und ich herausgefunden habe, dass das nicht stimmt.

Ich bin auf Mac El Capitan und benutze MAMP PRO 4.0.5 als meinen lokalen Server und Codeigniter 3 als Framework und ich möchte Ultrahook verwenden, um die Stripe Webhook Events lokal zu testen, bevor es in Produktion geht.

Das erste, was zu beachten ist, ist die MAMP-Konfiguration. Wenn Sie planen, ultrahook zu verwenden und wollen installieren Sie es darauf achten, dass dieses Kontrollkästchen Option (unter der Ryby Registerkarte auf der linken Seite) nicht markiert ist:

Make ruby available in the command line 

Warum?

Wenn Sie mit dieser Option aktiviert installieren ultrahook, wird der Edelstein in installiert werden:

/Applications/MAMP/Library/lib/ruby/gems/2.3.0/gems 

Und Sie wollen nicht, dass. Sie würden es normalerweise in der usr/bin

Jetzt installieren. Zu dieser Zeit, aufgrund der neuen Sicherheitsrichtlinie El Capitan erlauben Sie nicht, in diesem Ordner zu schreiben. Was machen wir jetzt?

Installieren Sie es einfach in der usr/local/bin.

$ gem install -n /usr/local/bin ultrahook 

das erledigt man die normalen Sachen in den http://www.ultrahook.com/ erklärt zu tun in der Lage. Es tut mir leid, aber ich möchte Ihnen den gesamten Prozess erklären, aber es wird den Rahmen dieses Beitrags gehen.

An diesem Punkt können Sie den Ultrahook verwenden und Ihren Webhook bei Stripe registrieren.

Die letzte wichtige Sache ist, den Controller auszuschließen, den Sie verwenden (die Seite, die auf die Stripe-Webhook-Ereignisse reagiert) , die vom csrf-Schutz blockiert werden soll.

$config['csrf_exclude_uris'] = array('stripe/webhook'); 

Oder was auch immer Sie in Ihrer $ route [''] definiert haben. Wenn Sie dies vergessen, erhalten Sie eine Antwort von 403, was forbidden bedeutet.

Die andere wichtige Sache ist, wenn Sie die Stripe-Antwort überprüfen, müssen Sie in dem Terminal sein, wo Sie die Verbindung über Ihren Ultrahook-Namespace anfordern, um das eingehende Ereignis an Sie gesendet zu sehen.

Ich hoffe, dass dies jemandem helfen wird, die es schwer haben, diese Arbeit zu machen.

Wenn Sie weitere Fragen haben, werde ich Ihnen gerne weiterhelfen.

Verwandte Themen