philos Δημοσ. 18 Σεπτεμβρίου 2017 Δημοσ. 18 Σεπτεμβρίου 2017 Δουλεύω πάνω στο Twilio API (όχι ότι έχει σημασία, καθώς το θέμα μάλλον είναι γενικό PHP) και αντιμετωπίζω σχεδόν το ίδιο πρόβλημα που περιγράφεται κι εδώ. Δηλαδή λαμβάνω php error (όχι πάντα, δλδ το script λειτουργεί κανονικά, αλλά κάποιες φορές την ημέρα συμβαίνει) : Twilio\Exceptions\RestException: Uncaught exception 'Twilio\Exceptions\RestException' with message '[HTTP 404] Unable to fetch record: The requested resource /PhoneNumbers/+XXXXXXX was not found' in /home/yyyyy/public_html/includes/Twilio/Version.php:85 in Twilio\Version::exception called at /home/yyyyy/public_html/includes/Twilio/Version.php (106)in Twilio\Version::fetch called at /home/yyyyy/public_html/includes/Twilio/Rest/Lookups/V1/PhoneNumberContext.php (56) Πως μπορώ σταματήσω την εμφάνιση αυτού του error; Γενικά δεν έχω ασχοληθεί με errors/ exceptions στην PHP. Η line 106 του Version.php είναι το "throw $this->exception($response, 'Unable to fetch record');" --> public function fetch($method, $uri, $params = array(), $data = array(), $headers = array(), $username = null, $password = null, $timeout = null) { $response = $this->request( $method, $uri, $params, $data, $headers, $username, $password, $timeout ); if ($response->getStatusCode() < 200 || $response->getStatusCode() >= 300) { throw $this->exception($response, 'Unable to fetch record'); } return $response->getContent(); } ... και η line 56 του PhoneNumberContext.php είναι η "$params" στο: public function fetch($options = array()) { $options = new Values($options); $params = Values::of(array( 'CountryCode' => $options['countryCode'], 'Type' => $options['type'], 'AddOns' => $options['addOns'], )); $params = array_merge($params, Serialize::prefixedCollapsibleMap($options['addOnsData'], 'AddOns')); $payload = $this->version->fetch( 'GET', $this->uri, $params ); return new PhoneNumberInstance( $this->version, $payload, $this->solution['phoneNumber'] ); }
philos Δημοσ. 18 Σεπτεμβρίου 2017 Μέλος Δημοσ. 18 Σεπτεμβρίου 2017 Ναι αυτό είναι το θέμα, δεν μπορώ να καταλάβω που ακριβώς πρέπει να βάλω το try ... catch και πως ακριβώς πρέπει να συνταχτεί. Επίσης το error συμβαίνει περιστασιακά και δεν μπορώ να κάνω πραγματικές δοκιμές ώστε να βλέπω άμεσα αν κατάφερα να το διορθώσω, γι' αυτό ζήτησα βοήθεια. Προφανώς συμβαίνει όταν για κάποιο λόγο δεν υπήρξε σωστό response από τον server του Twilio.
tk123 Δημοσ. 18 Σεπτεμβρίου 2017 Δημοσ. 18 Σεπτεμβρίου 2017 Το error που σου γυρνάει είναι 404 (= δεν βρέθηκε). Είναι εύκολο να κάνεις τις δοκιμές σου. Βάλε επίτηδεσ λάθος (ανύπαρκτη) διεύθυνση
παπι Δημοσ. 18 Σεπτεμβρίου 2017 Δημοσ. 18 Σεπτεμβρίου 2017 Δεν είναι ερορ, είναι exception!!! Για debugging, βάλε εκεί στο new Value εκεί στο fetch, βάλε το throw new Exception('test'); Και θα στο πετάει όλη την ώρα. Για να το πιάσεις, θα βάλεις το try εκεί που καλεις το api.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα