Parse error > aber wo liegt der Fehler ?

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

  • #16
    das ist richtig. trotzdem würde ich mit phpversion() sichergehen wollen, dass auch beim einbinden der richtige interpreter gewählt wird.

    der parse error hat offensichtlich nichts mit gd bzw. irgendwelchen http headers zu tun.

    Kommentar


    • #17
      Dann mah doch mal Nopaste
      http://nopaste.php-q.net

      Kommentar


      • #18
        zehn punkte an penizillin.

        Kommentar


        • #19
          @penizillin
          Wenn die passende PHP version via
          PHP-Code:
          phpversion(); 
          und einer if-else abfrage samt Fehlermeldung falsch wäre, würde ich ja erst garnicht den Fehler angezeigt bekommen

          Habe auf der ersten Seite auch nur den relevanten Code gepostet, eingebundene abfragen wie zb. auf den installierten php-interpreter und anderes habe ich aussen vor gelassen.

          PS: Ich habe wirklich alle eventuellen Trigger faktoren für Fehler mit einzelnen abfragen versehen, um zu anfang schon gewissen Fehlern entgegen zu kommen!
          Zuletzt geändert von boris-schneider; 07.05.2006, 19:41.

          Kommentar


          • #20
            dann versuch mal an der stelle (bzw. kurz davor) eine sinnfreie testklasse einzubinden:
            PHP-Code:
            class Foobar { private $foo 0; } 
            schmeißt sie einen ähnlichen fehler?

            Kommentar


            • #21
              würde ich ja erst garnicht den Fehler angezeigt bekommen
              1. Zeig mal wie du das machst
              2. Wieso sollte dann kein parse-error erscheinen???

              Kommentar


              • #22
                Original geschrieben von TobiaZ
                1. Zeig mal wie du das machst
                2. Wieso sollte dann kein parse-error erscheinen???
                Was soll ich da großartig zeigen, ich prüfe einfach ob der Installierte PHP Interpreter in der version kleiner ist als ich in meinem Script angegeben habe, wenn dem so ist breche ich den rest mit die(); ab, somit wird dann nichts mehr geparst und entsprechend Interpretiert.
                Zuletzt geändert von boris-schneider; 07.05.2006, 19:59.

                Kommentar


                • #23
                  Oh, dann versuch mal bitte mit hilfe des folgenden Scriptes dir funktionsweise von PHP kennenzulernen.

                  <?php

                  $i = 1;

                  if($i < 2)
                  die('i ist kleiner 2');
                  else
                  die('i ist nicht kleiner 2');

                  parse error;

                  ?>

                  Kommentar


                  • #24
                    mit die(); / exit(); klappt es sonst sehr gut

                    Kommentar


                    • #25
                      aber ganz sicher nicht bei parseerrors.

                      Kommentar


                      • #26
                        Original geschrieben von TobiaZ
                        aber ganz sicher nicht bei parseerrors.
                        bevor der eigentliche Code initiiert wird starte ich die abfrage des PHP Interpreters, ergo kann doch kein Parse error erscheinen wenn die abfrage des PHP Interpreters fehl schlägt weil dann noch garnicht die entsprechenden dateien inkludiert wurden, erst bei true der abfrage wird alles was das Script braucht inkludiert!

                        oder Arbeitet die();/exit(); da anders ?

                        Kommentar


                        • #27
                          Nichts aus dem Code gelernt???

                          die() und exit arbeiten da genauso wie die anderen php-funktionen. hat damit also NICHTS zu tun.

                          wenn du ein echo phpversion() machst, müsste deiner meinung ja ein wert ausgegeben werden und danach kommt der parse error. ist das deine vorstellung? warum hast du es dann nicht mal so versucht, um die version "manuell" zu überprüfen? vermutlich weil es auch einen parse-error gab.

                          naja, kannst denke ich deine schlüsse ziehen und nun wirklich überprüfen.

                          einfach nach dem überpüfungs-snippet ein

                          PHP-Code:
                          exit; ?> 
                          einbauen.

                          Kommentar


                          • #28
                            Original geschrieben von TobiaZ
                            wenn du ein echo phpversion() machst, müsste deiner meinung ja ein wert ausgegeben werden und danach kommt der parse error. ist das deine vorstellung?
                            Jain...
                            ich bekomme ja den Wert von phpversion(); zb. 5.0.5 diesen frage ich einfach mit einer kleinen geschriebenen funktion mit dem wert ab den ich im Script eingetragen habe zb. 4.4.1 wenn false bei rauskommt, breche ich den rest mit die ab, somit kann auch kein parseerror erscheinen, weil ja auch keinerlei Scripte inkludiert werden die etwaigen parseerror hervorrufen können.

                            Ob ich das ganze nun in eine if else abfrage packe oder das Script mit die abbreche ist eigentlich schnurz.
                            Zuletzt geändert von boris-schneider; 07.05.2006, 20:30.

                            Kommentar


                            • #29
                              Original geschrieben von boris-schneider
                              Ob ich das ganze nun in eine if else abfrage packe oder das Script mit die abbreche ist eigentlich schnurz.
                              nee, ist es NICHT!

                              Ich will dich auch hier gerne belehren:

                              PHP-Code:
                              if(1==0)
                                include 
                              'error.php'
                              und

                              PHP-Code:
                              if(1==0)
                                die(
                              'bla');
                              include 
                              'error.php'
                              error.php beinhaltet nur einen parseerror.
                              OffTopic:
                              BTW: Warum macht man nicht ein einfaches Debugging, sondern versucht es mit einem Code, vom dem man nichtmal das PHP-Verhalten kennt?

                              Kommentar


                              • #30
                                so viel ich weiß arbeitet php in verschiedenen Schritten,
                                zerlegt zuerst den Quellcode in Variablen, Konstanten etc.
                                und gibt dann eventuelle Fehler aus (parse errors) und
                                in einem weiteren Schritt wird es ausgeführt.

                                Zuerst wird also Dein Script zerlegt und erst danach wird
                                die PHP Version abgefragt.

                                Man berichtige mich, falsch ich falsch lieg...

                                Kommentar

                                Lädt...
                                X