|
|
pvdb


: 16.01.2005 : 292 : Bremen
|
| : 06.07.2011, 20:42 : Curl Konsolen Aufruf vs. Browser Aufruf (Server Einstellung? |
|
|
Hi,
ich habe grad ein Problem, was ich noch nie hatte. Auf unseren Server Zend auf OSX habe ich eine test.php mit folgenden Inhalt:
| Code: |
<?
print_r($_GET);
?>
|
Mehr steht da nicht drinnen. Das reicht um das Problem zu zeigen.
Nun habe ich diesen Aufruf.
http://www.testdomain.de/test.php?p1=test1&p2=test2
Im Browser zeigt er mir dies an:
| : |
Array ( [p1] => test1 [p2] => test2 )
|
Nun führe ich den Aufruf unter OSX in der Konsole aus also
"curl http://www.testdomain.de/test.php?p1=test1&p2=test2"
Das gibt diesen Output
In der Konsole zeigt er mir nur den immer den ersten GET Parameter an und die anderen nicht.
Ich hatte die Tage in unseren Shop die Sofortüberweisung Schnittstelle umgebaut. Bestellungen werden vorher temporär gespeichert und durch den Sofortüberweisung http Aufruf bei uns dann nach Zahlung importiert. Der Aufruf erfolgt als HTTP GET Aufruf.
Online bei Sofortüberweisung in der Übersicht, sieht man das der Aufruf auch erfolgreich war.
Nun funktioniert der Import nicht. Wenn ich es manuel im Browser ausführe geht es aber. Durch den Aufruf in der Konsole sah ich nun das Problem und weiß nicht weiter. Leider liest Sofortüberweisung nur den Header und nicht den Body aus. Sonst könnte man es einfacher vergleichen.
Kann dies ggf. eine Server Einstellung oder woran kann das liegen? Ich weiß auch nicht ob dies 100% das Problem ist, aber genau so, lässt sich erklären, wieso der Import nicht geht.
Könnte statt der $_GET Version die $_POST Version das Problem lösen?
Vielleicht hat ja jemand eine Idee. |
|
| Nach oben |
|
 |
3rr0r


: 12.07.2007 : 224 : Pattaya
|
| : 06.07.2011, 22:02 : Curl Konsolen Aufruf vs. Browser Aufruf (Server Einstellung? |
|
|
nteressanter Fehler, den es eigentlich nicht geben kann
Es ist irgendwie egal ob ich die test.php im Browser rufe oder per curl hole.
Das was als Ergebnis dann am Schirm steht muß gleich sein.
Der einzige Unterschied kann an den Einstellungen für curl liegen.
Nicht getestet hast Du ob nur 1 Variable geholt wird oder ob die letzte vergessen wird. Also nochmal mit 3 Parametern testen.
Weiter würde ich den Parameter noch direkt testen:
$_GET 'p2' |
|
| Nach oben |
|
 |
profo


: 18.01.2007 : 1709
|
| : 06.07.2011, 22:42 : Re: Curl Konsolen Aufruf vs. Browser Aufruf (Server Einstell |
|
|
| pvdb hat Folgendes geschrieben: |
| Vielleicht hat ja jemand eine Idee. |
Ja. Beim Shell-Aufruf solltest Du die URL in Anführungszeichen setzen. Die Shell interpretiert das & sonst nämlich als "ab in den Hintergrund" und es kommt korrekterweise das von Dir beschriebene Ergebnis zustande.
Ceterum censeo facebook esse delendam. |
|
| Nach oben |
|
 |
pvdb


: 16.01.2005 : 292 : Bremen
|
| : 07.07.2011, 07:45 : Curl Konsolen Aufruf vs. Browser Aufruf (Server Einstellung? |
|
|
@profo
Mit Anführungszeichen funktioniert es. Vielen Dank. Dann will ich als nächstes mal anfragen wie der Anbieter die Links aufruft. Vielleicht lässt sich damit das Problem lösen  |
|
| Nach oben |
|
 |