Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Curl Konsolen Aufruf vs. Browser Aufruf (Server Einstellung?

Forum rund um das Thema Hardware für Webmaster.
Neues Thema Antworten
pvdb
PostRank 5
PostRank 5
Beiträge: 321
Registriert: 16.01.2005, 22:37
Wohnort: Hannover

Beitrag von pvdb » 06.07.2011, 19:42

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: Alles auswählen

<?
print_r&#40;$_GET&#41;;
?>
Mehr steht da nicht drinnen. Das reicht um das Problem zu zeigen.

Nun habe ich diesen Aufruf.

https://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 https://www.testdomain.de/test.php?p1=test1&p2=test2"

Das gibt diesen Output
noname:~ phil$ curl https://www.testdomain.de/test.php?p1=test1&p2=test2
[1] 91051
noname:~ phil$ Array
(
[p1] => test1
)
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.

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

3rr0r
PostRank 5
PostRank 5
Beiträge: 219
Registriert: 12.07.2007, 14:32
Wohnort: Pattaya

Beitrag von 3rr0r » 06.07.2011, 21:02

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'

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 06.07.2011, 21:42

pvdb hat 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.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


pvdb
PostRank 5
PostRank 5
Beiträge: 321
Registriert: 16.01.2005, 22:37
Wohnort: Hannover

Beitrag von pvdb » 07.07.2011, 06:45

@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 :)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag