2009-08-14 14 views
1

Ich entwickle derzeit eine Website mit Codeigniter, der paypal Standardzahlungen verwendet. Wenn eine Zahlung getätigt wird, sendet paypal die Informationen mit einer IPN-Benachrichtigung zurück an die Website und gibt den Benutzer zusammen mit den Informationen als PDT an die Site zurück. Ich benutze beide, weil ich digitale Downloads gebe.CodeIgniter Fehler

Sowohl PDT als auch IPN überprüfen, dass die Informationen, die sie gesendet haben, wirklich von paypal kamen, indem sie es zurück an paypal gesendet haben. Wenn paypal erkennt, dass es sich um eine echte Transaktion handelt, wird diese verifiziert zurückgegeben.

Alles funktioniert gut in der Sandbox, aber jetzt, wo ich paypal geschaltet habe, um zu leben, hat es aufgehört zu arbeiten. Ich habe nach allen üblichen Schuldigen gesucht, wie zum Beispiel immer noch auf die Sandbox zeigend.

Wenn Paypal mich zurück auf die Erfolgsseite auf meiner Website weiterleitet. Ich sehe den folgenden Fehler, das IPN schlägt auch mit einer ungültigen Antwort fehl.

 
PHP Warning: require(../system/libraries/Exceptions.php) [function.require]: failed to open stream: No such file or directory in C:\Domains\mydomain.com\system\codeigniter\Common.php on line 116 
PHP Warning: require(../system/libraries/Exceptions.php) [function.require]: failed to open stream: No such file or directory in C:\Domains\ mydomain.com\system\codeigniter\Common.php on line 116 
PHP Fatal error: require() [function.require]: Failed opening required ‘../system/libraries/Exceptions.php’ (include_path=’.;C:\PHP5\pear’) in C:\Domains\mydomain.com\system\codeigniter\Common.php on line 116 

Das Merkwürdige ist, dass, wenn ich die Seite, die ich aktualisiere nicht bekommen, die Fehler und die PDT Informationen überprüft und angezeigt, wie erwartet. Ich sehe den gleichen Fehler selbst mit einer die() Aussage in der ersten Zeile des Codes in meiner Erfolg-Controller-Funktion, wenn die die() Ausgabe aktualisiert anstelle des Fehlers angezeigt wird.

Ich bin mit $config[‘uri_protocol’] = “PATH_INFO”;$config[‘enable_query_strings’] = TRUE;

wie hier vorgeschlagen Abfrage-Strings und Segmente zu ermöglichen. http://codeigniter.com/forums/viewthread/99570/

Ich verwende IIS und Birne scheint installiert zu sein.

Ich habe den Anwendungsordner auf der gleichen Ebene wie der Systemordner.

Hat jemand irgendwelche Ideen, warum das passiert.

Jede Hilfe oder Einblicke würde sehr geschätzt werden.

Dank

+0

Als ich mit genau diesem Problem konfrontiert wurde, habe ich eine separate PHP-Seite außerhalb von CodeIgniter erstellt, die einfach neu erstellt und an eine URL weitergeleitet wurde, die ich in der CodeIgninter-Anwendung verwenden konnte – idstam

Antwort

0

ändert sich der Wert von $config[‘uri_protocol’]-REQUEST_URI Hilfe zu ändern?

+2

Danke für Ihren Vorschlag. Am Ende habe ich die IPN- und PDT-Seiten außerhalb des Codeignitors neu geschrieben und das hat gut funktioniert. Ich werde zurückgehen und deinen Vorschlag irgendwann ausprobieren, wenn ich die Zeit finde. –