Problem mit PHP-Versionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit PHP-Versionen

    Hallöchen Zusammen,

    ich habe eine Programmierung (php) in der Spieler per Passwort ihr Spielergebnis (nur der Sieger kann es) eintragen. Bevor die Eingabe an PHP übergeben wird erfolgt eine Zwischenprüfung per Javascript.

    Die Anzahl der teilnehmenden Spieler ist egal.

    Das klappte auch alles bisher.

    Dann hat der Anbieter (power-galaxy) auf die PHP-Version 5.3.2 gewechselt.

    Ab dem Zeitpunkt gibt es bei der Spieleranzahl größer 18 das Problem, das der 19te (und darüber )nicht mehr seinen Sieg gegen den 18te bis 7ten Teilnehmer eintragen kann.

    Ich habe das unveränderte Script auf folgenden PHP-Versionen getestet:
    Ver. 5.3.16 gleiche Problem (bplaced)
    Ver 5.3.4 kein Problem (funpic)
    Ver 5.3.1 kein Problem (local)

    Hat jemand da eine Idee, was der Anbieter power-galaxy in php.ini freigeben muss, damit das Script wieder läuft?

    Ich habe leider keine Ahnung von der php.ini Konfiguration.

    Das gesamte Script darf ich leider nicht öffentlich hier freigeben.

    Vielen Dank für Euer Verständnis.

    P.S. Trotz eingestelltem Error-Reporting gibt es keine Fehlermeldung
    Zuletzt geändert von Wasser_Wanderer; 09.01.2013, 17:33. Grund: P.S. hinzugefügt

  • #2
    Jetzt hab ich das Script nochmal getestet mit PHP Ver 5.4.7 local unter xampp in der Standardkonfiguration wie es halt sich installiert.

    Auch da funktioniert es nicht.

    Was merkwürdig ist (bei allen PHP-Versionen):
    Die Datei die beschrieben werden soll, wird auch angesprochen nur wird da nichts neues hineingeschrieben. (bei den Versionen die schon ansprach)

    Achja: Es wird keine Datenbank verwendet.

    Ich weis das meine Informationen ohne Code schwer zu verstehen sind.

    Aber vllt hat jemand eine Vermutung wo ich in der Konfiguration des Apache-Servers etwas probieren/umstellen könnte?

    Kommentar


    • #3
      Bevor Du Dir nicht sicher bist, was da falsch läuft, würde ich nichts an der Konfiguration ändern. Für welche Version wurde denn Dein Script entwickelt?
      Falls es älter ist, was mir so aus dem Stegreif einfällt, dass einige Regex-Funktionen seit PHP 5.3 als veraltet gelten und noch einiges mehr. Einige andere Dinge, die einige Zeit nicht ohne Einstellungen in der php.ini liefen, gehen dafür wieder.

      Kommentar


      • #4
        Hallo Malewo und danke für deinen Hinweis bezgl. REGEX.

        Könnte es daran liegen (Auszug vom Code):
        PHP-Code:
        if(preg_match("/\b$user_work\b/i",$value0_work) and preg_match("/\b$passwort\b/i",$value[1]) or $passwort==$admin_pass
        {
            
        $pruefen TRUE;
            break;
          }

        und weiter:

        PHP-Code:
        if($sp1 == $value) {
              foreach(
        $arr as $sp_key => $sp_value) {
                if(
        preg_match("/$sp1#$sp2/i" ,$arr[$sp_key])) {
              
        $writer FALSE;
                }
              }
            } 
        Das script wurde nicht von mir entwickelt, aber ich glaube es ist seit 2008 im Einsatz.

        Kommentar


        • #5
          Nein, das sind PCRE-Funktionen und die sind gut. Nicht mehr funktionieren würden POSIX-Funktionen, doch so alt scheint Dein Script nun wieder auch nicht zu sein und wenn es von 2008 ist, dann sollte es eigentlich laufen. Zumindest sollte es dann richtige Mitteilungen bei Fehlern geben.

          Wie Du weiter oben erwähntest, wird die Datei angesprochen aber nichts geschrieben. Früher wäre in so einem Fall mein erster Verdacht gewesen, dass die erforderlichen Rechte fehlen, was aber bei einem Test unter Localhost nicht sein dürfte, womit man das wohl ausklammern kann.

          Edit: Einen Überblick über veraltete Funktionen, dahinter folgen dann die neueren Ersetzungen.

          http://de2.php.net/manual/de/migration53.deprecated.php

          Du könntest sicherlich mal schauen, ob Du davon die eine oder andere entdeckst. Doch normalerweise sollte PHP bei deren Verwendung Fehlermitteilungen auswerfen.

          Bevor Dein Script etwas in eine Datei schreiben möchte, wird ja etwas übergeben und die Variablen müssten ja die entsprechenden Werte enthalten. Da könntest Du Dir den Inhalt vor dem Schreiben anzeigen lassen, was da enthalten ist.
          Zuletzt geändert von Melewo; 10.01.2013, 21:48.

          Kommentar


          • #6
            Lieber Malewo,
            nochmals Danke das du dich für meine Problematik interessierst.

            Ich habe mir den Link angesehen und dort nichts finden können, was
            in meinem Script falsch sein könnte.

            Es werden weder Klassen noch Funktionen benutzt.

            Das Irre an der Sache, ist für mich, das alles in den PHP Versionen
            5.3.1 und 5.3.4 funktioniert.

            Die Sache mit den Datei-Rechten hab ich damit ausgeklammert, da ich alles auf 777 gesetzt habe (natürlich nur zum Testen).

            Ausser dem preg_match ist nichts Wildes da drinne.

            Ich kann mir auch kaum Vorstellen, das das vorgelagerte javascript da "Dummheiten" macht.

            js hat nix mit PHP zu tun.

            Das Problem tritt erst ab 19 Spieler und höher auf. (Es gibt nirgendwo eine Beschränkung). Bis 18 Spieler läuft es poblemlos auf allen PHP-Versionen die ich testete.

            Kommentar

            Lädt...
            X