Andreas Korthaus: "Lösung" meines php_curl Problems (wens interessiert)

Hallo!

Ich hatte vor ein paar Tagen ja mal folgenden Thread eröffnet: </archiv/2002/10/25923/>, ging darum das php_curl bei Übergabe eines Arrays mit den POST-Parametern komische Zeichen an jeden Parameternamen anfügt(sowas wie ýýýýÝÝÝÝÝÝÝÝ ).

Habe  mich dann  mal an ne spezielle php_curl mailing-liste gewand, und erhielt nach 2 Tagen die Antwort, dass es sich um folgenden PHP-Bug handelt, hervorgerufen durch "zero termination" (heißt das Teilung durch 0?), welcher inzwischen gefixt ist:
http://bugs.php.net/bug.php?id=17963

Also lade ich mir jetzt die aktuelleste Version und hoffe das es _E_N_D_L_I_C_H_ funktioniert!

Grüße
Andreas

  1. Moin,

    "zero termination" (heißt das Teilung durch 0?),

    Das wäre "division by zero" :)
    Ich denke mal es geht darum, dass in C ein String mit einer Null abgeschlossen werden muß (damit meine ich das Zeichen mit dem Zeichencode 0, nicht das mit dem Code 48). Fehlt diese Null geht der String aus C-Sicht immer weiter bis irgendwo später zufällig eine Null auftaucht, kommt sie mitten im String vor, hört er aus C-Sicht da auf (das war auch das Problem das meinen Post bei </archiv/2002/9/25037/#m137848> so abrupt beendet hat). PHP selbst hat das Problem glücklicherweise nicht, da es sich die Länge eines Strings merkt (soweit ich weiss). Damit sind gleich eine Menge Kopfschmerzen verschwunden (buffer overflows zum Beispiel) aber PHP ist ja auch 'nur' in C geschrieben.

    --
    Henryk Plötz
    Grüße aus Berlin

    1. Hi!

      "zero termination" (heißt das Teilung durch 0?),

      Das wäre "division by zero" :)

      Oh ja ;-)

      Ich denke mal es geht darum, dass in C ein String mit einer Null abgeschlossen werden muß (damit meine ich das Zeichen mit dem Zeichencode 0, nicht das mit dem Code 48). Fehlt diese Null geht der String aus C-Sicht immer weiter bis irgendwo später zufällig eine Null auftaucht, kommt sie mitten im String vor, hört er aus C-Sicht da auf (das war auch das Problem das meinen Post bei </archiv/2002/9/25037/#m137848> so abrupt beendet hat). PHP selbst hat das Problem glücklicherweise nicht, da es sich die Länge eines Strings merkt (soweit ich weiss). Damit sind gleich eine Menge Kopfschmerzen verschwunden (buffer overflows zum Beispiel) aber PHP ist ja auch 'nur' in C geschrieben.

      Naja, jedenfalls funktioniert das ganze jetzt endlich mit Version 4.2.4-dev(stable), keine Ahnung ob auch mit 4.2.3, ich hatte nur 4.2.2 gestestet.

      Aber ich hab ebis jetzt gebraucht um das PHP upzudaten. Ich hatte nmlich eien Foxserv Installation verwendet, und die fand ich eh schrecklich, alleine PHP 4.2.2 und Apache 2 ist noch eher experimentell, aber vor allem MySQL4-alpha, und dazu noch große Probleme mit phpmyadmin, das war schon recht nervig. Und als ich dann nicht einfach PHP aktuelisieren konnte, keien Aznung wieso, Apache ist schlicht nicht mehr gestartet habe ich das alles runtergeschmissen und die schön stabilen Versionen (MySQL 3 Apache 1) installiert, wobei das auch nicht so einfach war, denn irgendwo hatte sich von foxserv was nicht korrekt deinstalliert, so dass alleine die Installation von MYSQL fast eine Stunde gedauert hat. Dann schon wieder der Spaß mit mit den problematischen PHP-Erweiterungen CURL und ZLIB... aber jetzt läuft es und siehe da, es scheint tatsächlich zu funktionieren!

      Dann mache ich jetzt mal weiter!

      Grüße
      Andreas

      --
      Henryk Plötz
      Grüße aus Berlin