von PHP 5.2 auf PHP 5.3

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ImmerOn
    replied
    Hi,

    ich habe einen Virtual-Server-managed bei Hosteurope und da kann ich eben über ein Benutzerinterface Skripteinstellungen vornehmen.

    Da gab es eben die Einstellungen für Fehlermeldungen etc. und dort konnte man zwischen "php_admin_flag" und "php_flag" wählen.
    Als ich das von php_admin_flag auf php_flag geändert habe, hat alles wieder funktioniert. Mehr hab ich nicht gemacht. Das komische war allerdings, dass ich als der Fehler auftritt, nichts dort verändert hatte, aber vllt ist das ja automatisch bei der Umstellung auf PHP 5.3 geschehen.

    Liebe Grüße.

    Leave a comment:


  • Quetschi
    replied
    Ok - welches Flag war es und wo war es hinterlegt?
    Wäre evtl. für die Nachwelt noch gut zu wissen.

    Leave a comment:


  • ImmerOn
    replied
    Hallo,

    ich wollte mich nur nochmal kurz melden, da das Problem nun behoben scheint, zumindest funktioniert alles wieder.
    Ich habe nur bei meinen Servereinstellungen unter PHP-Errors
    einen Wert von php_admin_flag auf php_flag geändert und nun funktioniert alles wieder wie vorher. Komisch ist, dass ich daran nichts verändert hatte, als der Fehler auftrat. Naja hauptsache es geht nun wieder

    Danke nochmal an alle.
    LG

    Leave a comment:


  • ImmerOn
    replied
    @TobiaZ:

    Wenn ich die Seite mit der nicht funktionierenden Funktion (seit PHP 5.3) mit Firebug aufrufe, kann ich wie man oben mermshaus sieht, die Antwort (response) sehen... Und der Code wird da eben angezeigt, und halt die Fehlermeldung, die wird aber in der Konsole bei Firebug angezeigt...

    LG

    Leave a comment:


  • TobiaZ
    replied
    als Antwort auf was? Ich dachte der Server schickt nen 500er? (was in aller Regel auf eine Fehlkonfiguration - an irgend einer Stelle - hinweist)

    Leave a comment:


  • ImmerOn
    replied
    Hallo,

    ich hab mir das ganze jetzt mal mit Firebug angeschaut, und wenn ich die "Funktionen" auf meiner Website ausführen will, die nichtmehr richtig funktionieren seit PHP 5.3, kommt folgende Fehlermeldung in Firebug:
    "NetworkError: 500 Internal Server Error - http://meineurl.de/game/ajax_dyn.php?action=check_squad&ajax"

    Was das jetzt genau bedeutet weiß ich leider noch nicht... bin jetzt mal weiter am suchen...

    LG

    Edit:
    Als Antwort erhalte ich folgendes:
    Code:
    ["\n<script type=\"text\/javascript\">\n$(function(){\n$( \"input:checkbox\" ).button();\n\n\/\/$(\"button, input:submit, input:button\").button();\n$(\"input, textarea\").addClass(\"field text ui-widget-
    content ui-corner-all\");\n\n\n$('[title]').each(function() {\nvar tooltipContent = $(this).attr('title');\n$(this).attr('title', '');\n$(this).wTooltip(\n{ content: tooltipContent, className: \"tooltip\", style: 
    false, offsetY: 7, offsetX: 13});\n});\n\n\/\/$(\"img\").wTooltip({className: \"tooltip\", style: false, offsetY: 7, offsetX: 13 });\n\n$('.ui-state-default').hover(\n\t\t\t\tfunction(){ $(this).addClass('ui-
    state-hover'); }, \n\t\t\t\tfunction(){ $(this).removeClass('ui-state-hover'); }\n\t\t\t);\n\n$('#checkall').toggle(\n\t\t\t\tfunction(){ $( \"input:checkbox\" ).attr(\"checked\", true).button(\"refresh\"); }, 
    \n\t\t\t\tfunction(){ $( \"input:checkbox\" ).attr(\"checked\", false).button(\"refresh\"); }\n\t\t\t);\n});\n<\/script>\nTritium: \n<span class=\"fuel_enough\">193<\/span>\n<br>\nAnkunft:\n15.09.2012 
    14:41:50 \n(<b>Dauer:  2m 10s<\/b>)\n<br><br>\n\n<input class=\"default_button ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all\" name=\"submit_attack\" type=\"button\" 
    value=\"Angreifen\" onClick=\"doAction('attack')\"> \n\n\n\n\n\n<input class=\"default_button ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all\" name=\"submit_transport\" 
    type=\"button\" value=\"Transport\" onClick=\"doAction('transport_show')\">\n<input class=\"default_button ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all\" 
    name=\"submit_station\" type=\"button\" value=\"Stationieren\" onClick=\"doAction('station')\">\n<input class=\"default_button ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all\" 
    name=\"submit_unittransfer\" type=\"button\" value=\"\u00dcberstellen\" onClick=\"doAction('unittransfer')\">\n"]
    Falls das jmd. was sagen sollte, ich blick da nicht wirklich durch...
    Last edited by ImmerOn; 15-09-2012, 13:48.

    Leave a comment:


  • Quetschi
    replied
    Hast du auch im Ausgabequellcode nach Notices gesucht? Da diese keine Abbrüche verursachen sondern einfach nur Hinweise sind, können sie sich - je nachdem wie hier programmiert wurde - gerne mal im Quelltext verstecken, ohne in der normalen Ansicht im Browser sichtbar zu sein.

    Leave a comment:


  • mermshaus
    replied
    Sonst vielleicht einfach mal den Anbieter fragen, falls noch nicht geschehen.

    Oder wie gesagt eben mal gucken, ob der Ajax-Request selbst eine Fehlermeldung im Response-Body stehen hat. Das ist beim Debuggen von so was gerne mal der Fall.

    Leave a comment:


  • wahsaga
    replied
    Originally posted by ImmerOn View Post
    Dann habe ich mich noch ein bischen mit PHP 5.3 beschäftigt und rausgefunden, dass der Befehl 'do' oder was auch immer das bedeutet, nichtmehr unterstützt wird.
    Keine Ahnung, wie du darauf kommst, aber es ist Quatsch.

    Die einzige Stelle, an der es in PHP nativ ein do gibt, ist die do-while-Schleife – und natürlich gibt es die in PHP 5.3 immer noch.

    Ich weiß nun auch in welcher Datei der Fehler auftritt, und zwar in meiner Ajax-Datei.
    Dort habe ich dann nach 'do' gesucht und einige Ergebnisse gefunden und zwar immer:
    $_GET['do']

    Kann das nun der Fehler sein?
    Das ist kein do-Befehl, sondern lediglich ein Parametername.
    Und Parameter kannst du benennen, wie du willst – do kann dabei unter normalen Umständen überhaupt kein Problem sein.

    Es sei denn, dein Provider hätte irgendeinen Filter o.ä. eingerichtet, der Parameter verbietet, die häufig bei Angriffen auf eine bestimmte Software zum Einsatz kommen. Das halte ich hier zwar auch für extrem unwahrscheinlich – aber wenn du tatsächlich überzeugt bist, dass das die fehlerverursachende Stelle ist (was sich leicht überprüfen lassen sollte, in dem du den Parameternamen überall in etwas anderes abänderst) – dann unterhalte dich mit deinem Provider darüber.

    Leave a comment:


  • ImmerOn
    replied
    Guten morgen,

    ich habe jetzt alles nochmal ausführlich getestet und habe dann folgendes entdeckt:
    Also mit error_reporting... wird mir nichts ausgegeben.
    In den Error-Logfiles steht auch nichts.
    Im Logfile steht aber was:
    POST /game/ajax_dyn.php?action=check_squad&ajax HTTP/1.1" 500 2222 "http://meineurl.de/game/object.php?id=153..."

    Die Url "meineurl" habe ich hier nur ersetzt, genauso wie die ID "153..." ist normal eine komplett Zahl, also das bitte nicht beachten.

    Dann habe ich mich noch ein bischen mit PHP 5.3 beschäftigt und rausgefunden,
    dass der Befehl 'do' oder was auch immer das bedeutet, nichtmehr unterstützt wird.
    Ich weiß nun auch in welcher Datei der Fehler auftritt, und zwar in meiner Ajax-Datei.
    Dort habe ich dann nach 'do' gesucht und einige Ergebnisse gefunden und zwar immer:
    $_GET['do']

    Kann das nun der Fehler sein?
    Wenn ja, weiß jmd. wie ich $_GET['do'] in PHP 5.3 ersetzen kann?

    Liebe Grüße

    ps: an dem Programm IonCube lags nicht, habs auf die aktuelle Version für PHP 5.3 geupdatet, hat sich aber nichts verändert.

    Leave a comment:


  • ImmerOn
    replied
    Hi,

    danke für die Antworten,
    register_globals war immer schon auf "off", diese Einstellungen kann ich selber verwalten (managed virtual server).
    Ich werd mir jetzt nochmal genauer die Logs durchschauen, mal schauen ob ich es hinbekomme

    LG

    Edit:
    Was mir gerade noch einfällt:
    Meine Website läuft nur mit dem Programm ionCube, könnte es evtl. sein, dass eine neue Version benötigt wird, bzw. das Programm unter PHP 5.3 nicht richtig funktioniert?
    Damit alle mal wissen um was es überhaupt geht: http://www.bg-world-engine.com/requirements.php
    Wenn jemand Erfahrungen damit hat und mir weiterhelfen kann, wäre ich sehr dankbar.

    LG
    Last edited by ImmerOn; 14-09-2012, 22:29.

    Leave a comment:


  • Quetschi
    replied
    Ich denke eher, dass der Hoster bisher register_globals weiterhin auf on setzte und mit der Umstellung auf 5.3 nun dies endlich auch mal über Bord geworfen hat.

    Der Thread-Opener heißt ja auch "ImmerOn"

    Leave a comment:


  • eagle275
    replied
    das wäre etwas ungewöhnlich ... php5.2 ist ja nicht php 4 - ab 5.0 ist register globals eigentlich dauerhaft auf "aus"

    Leave a comment:


  • Quetschi
    replied
    Tippe darauf, dass das Script noch auf register_globals=on setzt was mit der Umstellung auf 5.3 nun auf off gesetzt wurde.

    error_reporting wie von eagle275 vorgeschlagen setzen - das dürfte Licht ins Dunkel in Form von Notices bringen.

    Leave a comment:


  • mermshaus
    replied
    Originally posted by ImmerOn
    Die Seite wird nicht aktuallisiert, also die URL bleibt immer dieselbe, trotzdem verändert sich etwas auf der Seite.
    Wenn du Ajax verwendest, steht eine Fehlermeldung möglicherweise im Body der Response. Guck da mal (etwa mit Firebug im Net-Tab).

    Alternativ möglicherweise: Error-Log des Servers.

    Leave a comment:

Working...
X