Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] XAMPP 1.4.3 : Wechsel von PHP 4.3.7 zu PHP 5.0

Einklappen

Neue Werbung 2019

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

  • [Erledigt] XAMPP 1.4.3 : Wechsel von PHP 4.3.7 zu PHP 5.0

    zum Ausführen eines PHP 5.0 - Skripts von 2004 habe ich XAMPP 1.4.3 installiert. Defaultmäßig läuft PHP 4.3.7 die Aktivierung von PHP 5.0 ist mir
    nicht geglückt - weiß jemand wie es geht ?

    Besten Dank für Tips
    Udo

  • #2
    XAMPP 1.4.3? Die ist doch uralt. Hol Dir halt was aktuelles.

    Bitte Forenstruktur beachten!

    [MOD: verschoben]

    Kommentar


    • #3
      @nikosch - auf dem aktuellen PHP wirft das Skript üble Fehlermeldungen aus. Ein Fixing der Fehler ist mir nicht geglückt. Um es trotzdem laufen zu lassen habe ich das XAMPP 1.4.3 installiert. Eine vernünftige Antwort auf mein Posting wäre sinnvoller gewesen.

      UW

      Kommentar


      • #4
        Eine vernünftige Antwort auf mein Posting wäre sinnvoller gewesen.
        Nu bleib mal töfte und informier Dich lieber mal. Aktuelle XAMPP Version liegt bei 1.7 oder, wenn DU auf ner Uraltversion versuchst, PHP zu updaten, bist Du selbst schuld.

        Kommentar


        • #5
          Wie Umfangreich ist denn dein PHP5.0-Script ( in Zeilen ) ? Wenn das nicht allzu "Big" ist, könnte man über ein overnight-rebuild verhandeln wenn du möchtest, das dann auch auf den aktuellen Versionen laufen wird. ( Dev Environment wäre dann der Aktuelle Zend Server bei mir )

          Kommentar


          • #6
            ... bin zugegebenermaßen Anfänger ...

            Hallo tr0y - Danke für die Antwort und das Angebot (overnight-rebuild). Das PHP 5-Skript ist 662 Zeilen lang, heißt solution_htaccess.php und stammt aus Jörg Krauses: PHP 5 Grundlagen und Profiwissen.
            Ich hatte gehofft, die Umstellung von PHP 4.3.7 zu PHP 5.0 wäre mit einigen Zeilen in php.ini und/oder http.conf erledigt.

            Inzwischen habe ich nikosch' s Rat
            XAMPP 1.4.3? Die ist doch uralt. Hol Dir halt was aktuelles.
            befolgt und mir aus Reimers & Thies PHP 5.3 und MySQL 5.5 brauchbare Scipte besorgt, die auf meinem localhost perfekt laufen.

            Nachdem ich das Ganze auf meinem WebSpace geschoben habe, gab's Fehler. Ursache laut HostEurope-Support (WebPack L): unterstützt wird nur PHP 5.2.17 .

            Mein Ziel ist ganz einfach: User sollen sich mit einem Passwort anmelden und Daten in einer Tabelle eingeben. Das muß nicht kompliziert sein.

            Hast Du vielleicht eine Idee ?

            Besten Dank für Tips
            Udo

            Kommentar


            • #7
              Wenn ich ganz ehrlich bin würde ich dir dazu raten zuerstmal die Guides im Anfänger-Forum abzuarbeiten eh du dich an größere PHP-Büchlein verbeißt. Wenn du die logik der Syntax von PHP und den Umgang mit dem PHP-Handbuch auf php.net inne hast, wirst du sehr schnell den drang verspüren entstandene Probleme im sourcecode der vor dir liegt selbst zu beheben ( debugging ). Was ja mit zuhilfenahme der angezeigten Fehler und der Befehlsreferenz die die Versionsvoraussetzung von PHP für jeden Befehl aufzeigt, relativ leicht ist. In den seltesten fällen muss man dafür komplexere Workarounds bauen.

              Es ist auch prinzipiell schon mal ein guter Anfang, zumindest wenn du das was du da lerntechnisch zusammencodest auch auf einem öffentlichen webspace legen willst, die lokale Server-Umgebung deines heim-PCs an den Webserver den du später verwendest anzugleichen. unzwar an PHP 5.2..

              Zend bietet da eine relativ einfache Lösung, den Zend Server CE. Das ist ein PHP-Stack der über eine einfache Konfigurationsoberfläche verfügt und mit phpMyAdmin und MySQL ausgeliefert wird. Die fast Ideale Umgebung. Du kannst dich beim download für Zend Server CE mit PHP 5.2 oder 5.3 entscheiden.

              Dazu gesagt: Sofern du nicht umbedingt mit Namespaces arbeitest werden die Versionsunterschiede 5.2 > 5.3 warscheinlich nicht die Ursache sein, sondern eher differenzielle Fehlerprotokollierung zwischen deinem lokalen System und dem auf deinem Webspace.

              Warum ich das meine ? Aus Erfahrung mit beiden Versionen weiß ich das sich nichts gravierendes bei msql(i)_*(), session_*() und echo geändert hat, denn mehr ist für "User sollen sich mit einem Passwort anmelden und Daten in einer Tabelle eingeben." nicht nötig.

              Kommentar


              • #8
                Sehe ich das richtig, dass du ein Script in 5.3 auf 5.2 portieren möchtest? Und später dann wieder zurück? Ist in jedem Fall keine gute Idee.

                Eigentlich ein Krampf, dass Hosteurope immer noch kein PHP 5.3 hat.

                Kommentar


                • #9
                  namespace separator

                  @tr0y:
                  Wenn ich ganz ehrlich bin würde ich dir dazu raten zuerstmal die Guides im Anfänger-Forum abzuarbeiten eh du dich an größere PHP-Büchlein verbeißt.
                  sei ganz ehrlich - dies ist absolut sachgerecht. Software-Entwicklung und Datenbanken entwickle ich bereits ein Weilchen ... PHP ist für mich Neuland.
                  @Icrash: Korrekt - das Script ist in PHP 5.3, HostEurope unterstützt derzeit PHP 5.2.17 . Der Support meint, Ende des Jahres könnte 5.3 laufen.

                  Die letzte Hürde scheint der namespace separator zu sein. Das Script
                  Code:
                  <?php
                  
                  require_once "common.php";
                  
                  //HTML-Objekt erstellen
                  System\HTML::printHead();
                  System\HTML::printBody("background:gray;",false);
                  
                  //Header
                  echo '<div style="width:100%;position:absolute;top:0px;left:0px;border-bottom:3px solid silver;background-image:url(images/titleBackground.png);background-repeat:repeat-x;">';
                  echo '<img style="padding:0px;margin:0px;" border="0" src="images/title.png">';
                  echo '</div>';
                  zeitigt:
                  Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /is/htdocs/wp10478422_A3CYSTB9MS/www/ctc02/index.php on line 6

                  Parse error: syntax error, unexpected T_STRING in /is/htdocs/wp10478422_A3CYSTB9MS/www/ctc02/index.php on line 6


                  Hat jemand eine Idee wie sich dies umschiffen ließe ?
                  Danke für Tips
                  Udo

                  Kommentar


                  • #10
                    vielleicht so. aber sicher bin ich mir nicht.

                    statt
                    PHP-Code:
                    //HTML-Objekt erstellen
                    System\HTML::printHead();
                    System\HTML::printBody("background:gray;",false); 
                    PHP-Code:
                    require_once 'System/HTML.php'//die HTML klasse einbinden

                    HTML::printHead();
                    HTML::printBody("background:gray;",false); 
                    diese namespaces sind ja im grunde pfade zu den klassen, also musste die klassen zu fuß einbinden

                    Kommentar


                    • #11
                      Keine Chance, PHP 5.3 Namespaces ergeben in älteren PHP-Versionen immer einen Parse-Error, egal wie man die Dateien einbindet. Also benutze eine andere Bibliothek, die kompatibel zu PHP 5.2 ist, etwas anderes bleibt dir nicht übrig (komplett umschreiben willst du sie ja wohl kaum)

                      Kommentar


                      • #12
                        Ich schließe mich da fab an, dein Source muss ohne namespaces "rebuilded" werden.

                        Kommentar


                        • #13
                          Zitat von BlackScorp Beitrag anzeigen
                          diese namespaces sind ja im grunde pfade zu den klassen, also musste die klassen zu fuß einbinden
                          Nur um das nicht unkorrigiert zu lassen: Kann so sein, muss aber nicht. Man kann auch Namespaces verwenden, die nicht auf eine Verzeichnisstruktur mappen.

                          Kommentar


                          • #14
                            Namespaces allgemein hab null mit Verzeichnisstrukturen zu tun, eher der Autoloader ( den man dahingehend gebaut hat ) der den Namespace-Path zerlegt schaut ob der abgebildete Namespace-Path als Verzeichnis-Pfad existent ist.

                            alternativ dazu könnte man zum beispiel ein Package-System damit abbilden, das nicht zwingend nach equivalenter Pfadstruktur gespeichert wird.

                            Kommentar


                            • #15
                              Danke ...

                              lieben Dank für eure Postings - der Einfachheit halber suche mir passende PHP 5.2 - Skripte für HostEurope.

                              Udo

                              Kommentar

                              Lädt...
                              X