Hans: PHP5-Befehl in PHP3 benutzen

Hallo,

ist es irgendwie nöglich in einem PHP3-Script ein PHP5-Befehl auszuführen?

Gruß
Hans

  1. Hallo,

    ist es irgendwie nöglich in einem PHP3-Script ein PHP5-Befehl auszuführen?

    Ich wüßte nicht.

    Ggf. kannst Du überlegen, neben PHP3 auch noch PHP5 zu installieren und dann dieses eine Script entsprechend als PHP5-Script auszulegen. Ob das sinnvoll ist, kann ich Dir an dieser Stelle nicht beantworten... ;-)

    Nick

    --
    --------------------------------------------------
    http://www.xilp.eu
    XILP Internet Links People
    Dein persoenliches privates Netzwerk
    aus Freunden, Verwandten, Bekannten und Kollegen.
    --------------------------------------------------
    1. Hallo,

      ich habe bereits auf meinem Server PHP3 und PHP5. Ich will jetzt nicht alle Dateien umbenennen und umprogrammieren. Ich will das der PHP5-Interpreter in PHP3 angesprochen wird, etwa so:

      <?php
      interpreter=PHP5 {
       PHP5-Code
      }
      PHP3 weiter
      ?>

      Gruß
      Hans

      1. Hallo,

        ich habe bereits auf meinem Server PHP3 und PHP5. Ich will jetzt nicht alle Dateien umbenennen und umprogrammieren. Ich will das der PHP5-Interpreter in PHP3 angesprochen wird, etwa so:

        <?php
        interpreter=PHP5 {
        PHP5-Code
        }
        PHP3 weiter
        ?>

        Das wird so nicht funktionieren. Innerhalb eines Scriptes den PHP-Interpreter zu wechseln...

        Du wirst definieren muessen, welche Dateiendungen wie interpretiert werden.

        Warum stellst Du nicht komplett auf PHP5 um?

        Nick

        --
        --------------------------------------------------
        http://www.xilp.eu
        XILP Internet Links People
        Dein persoenliches privates Netzwerk
        aus Freunden, Verwandten, Bekannten und Kollegen.
        --------------------------------------------------
      2. ich habe bereits auf meinem Server PHP3 und PHP5. Ich will jetzt nicht alle Dateien umbenennen und umprogrammieren. Ich will das der PHP5-Interpreter in PHP3 angesprochen wird, etwa so:

        Wenn Du Glück hast, konfigurierst Du nur den Webserver um, so dass alles unter PHP5 problemfrei weiterläuft, egal wie die Dateendung heisst.

        Schau mal wie ein upgrade so vonstatten geht:
        http://de3.php.net/manual/de/
        [http://de3.php.net/manual/de/migration4.php]
        [http://de3.php.net/manual/de/migration5.php]

  2. ist es irgendwie möglich in einem PHP3-Skript einen PHP5-Befehl auszuführen?

    Ja.

    Oder wolltest du vielleicht wissen, ob der PHP-Interpreter in Version 3 Befehle von Version 5 kennt? Nein, er kann nicht hellsehen.

  3. Hi!

    ist es irgendwie nöglich in einem PHP3-Script ein PHP5-Befehl auszuführen?

    Was ist denn ein PHP3-Script?
    Ein Script mit der Dateiendung .php3?
    Das dürfte eigentlich keine Rolle spielen.
    Sofern auf dem Server PHP 5 installiert ist, kannst du auch in so einer Datei eine neue Funktion aufrufen.
    Es liegt ja nicht an dem Script, sondern an der PHP-Version, die auf dem Server läuft.
    Und wenn dort kein PHP 5 installiert ist, kannst du natürlich auch keine der PHP-5-Funktionen aufrufen.
    Du kannst aber - je nachdem, um was für eine Funktion es sich handelt - vielleicht versuchen, deren Funktionalität nachzubauen.

    Schöner Gruß,
    rob

    1. Hallo rob,

      Was ist denn ein PHP3-Script?
      Ein Script mit der Dateiendung .php3?
      Das dürfte eigentlich keine Rolle spielen.

      Die verschiedenen größeren PHP-Versionen sind nicht 100%-ig rückwärtskompatibel. Es ist also nicht garantiert, dass ein für PHP 3 geschriebenes Script von einem PHP-4-Parser und dass ein PHP-4-Script von einem PHP-5-Parser richtig interpretiert wird. Von der Kombination PHP 3 und PHP 5 gar nicht erst angefangen...

      Ich würde Hans empfehlen, die Scripte so umzustellen, dass sie auf PHP 5 lauffähig sind. Der Großteil der Änderungen, die die Rückwärtskompatibilität zwischen den verschiedenen Versionen zerstören, wurde aus gutem Grund vorgenommen, da Möglichkeiten zur Erzeugung von Sicherheitslücken oder ähnlichen unschönen Dingen entfernt wurden.

      Schöne Grüße,

      Johannes

      1. Der Großteil der Änderungen, die die Rückwärtskompatibilität zwischen den verschiedenen Versionen zerstören, wurde aus gutem Grund vorgenommen, da Möglichkeiten zur Erzeugung von Sicherheitslücken oder ähnlichen unschönen Dingen entfernt wurden.

        "Gute Gründe" werden oft angegeben, wenn die Rückwärtskompatibilität gebrochen wird. Vermutlich waren einige Funktionen nicht mehr zu retten, vgl. auch:

        http://de3.php.net/manual/de/function.mysql-escape-string.php   "deprecated"
        http://de3.php.net/manual/de/function.mysql-real-escape-string.php   "das Substitut, man beachte das real"

        Ebenso:
        http://blog.php-security.org/

        1. echo $begrüßung;

          "Gute Gründe" werden oft angegeben, wenn die Rückwärtskompatibilität gebrochen wird. Vermutlich waren einige Funktionen nicht mehr zu retten, vgl. auch:

          http://de3.php.net/manual/de/function.mysql-escape-string.php   "deprecated"
          http://de3.php.net/manual/de/function.mysql-real-escape-string.php   "das Substitut, man beachte das real"

          Die Existenz und Benennung beider Funktionen ist nun ausgerechnet nicht PHP zuzuschreiben sondern MySQL:

          http://dev.mysql.com/doc/refman/5.0/en/mysql-escape-string.html
          http://dev.mysql.com/doc/refman/5.0/en/mysql-real-escape-string.html

          echo "$verabschiedung $name";

          1. "Gute Gründe" werden oft angegeben, wenn die Rückwärtskompatibilität gebrochen wird. Vermutlich waren einige Funktionen nicht mehr zu retten, vgl. auch:

            Die Existenz und Benennung beider Funktionen ist nun ausgerechnet nicht PHP zuzuschreiben sondern MySQL:

            Gut, wusste ich nicht, ich finde ja auch PHP gut (und Perl besser), aber mir ist die dortige community mittlerweile ein wenig suspekt und "gute Gründe" für Kompatibilitätsbrüche sehe ich erst einmal in der Natur der Sache nicht, darum die Minipolemik.

            1. Ich grüsse den Cosmos,

              für Kompatibilitätsbrüche sehe ich erst einmal in der Natur der Sache nicht, darum die Minipolemik.

              Mittlerweile gibt es bei Autos Gurtpflicht, Katalysatoren und Bremsanlagen mit einer mehr als 4fachen Verzögerung.

              Abwärtskompatiblität ist auch in diesem Bereich nur bedingt möglich. Sollte man deshalb auf Neuerungen, die die Sicherheit erhöhen, verzichten?
              Und wenn dir eine Funktion in PHP5 fehlt, die es aber in PHP3 gab, steht es dir frei, diese nachzubilden. Immerhin kannst du den C++-Code von PHP3 nehmen und damit ein Modul entwickeln, das PHP5 erweitert. Dir stehen also alle Möglichkeiten offen.

              Möge das "Self" mit euch sein

              --
              Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
              ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  4. Ich grüsse den Cosmos,

    ist es irgendwie nöglich in einem PHP3-Script ein PHP5-Befehl auszuführen?

    Da gibt es verschiedene Möglichkeiten.

    1. du bildest die gewünschte Funktion in PHP3 nach
    2. du rufst aus deinem PHP3-Script ein Script auf, das durch den PHP5-Interpreter ausgeführt wird.
    3. du lässt dein PHP3-Scriptdurc h den PHP5-Interpreter abarbeiten.

    Ohne konkret zu wissen, was du genau willst, ist nur eine Antwort möglich: "Vielleicht"

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
    1. Hallo,

      Ohne konkret zu wissen, was du genau willst, ist nur eine Antwort möglich: "Vielleicht"

      Der Befehl, den ich meine ist sys_getloadavg.

      Ich dachte mir das so (Der folgende Code ist in einer PHP3-Datei):

      <?php

      PHP3-Code

      interpreter=PHP5 {
       PHP5-Code
      }

      PHP3-Code

      ?>

      1. du lässt dein PHP3-Scriptdurc h den PHP5-Interpreter abarbeiten.

      Wie mache ich das?

      Gruß
      Hans

      1. Hallo Hans.

        Hallo,

        Ohne konkret zu wissen, was du genau willst, ist nur eine Antwort möglich: "Vielleicht"

        Der Befehl, den ich meine ist sys_getloadavg.

        Dann frage doch ab, ob diese Funktion definiert ist.

        Ich dachte mir das so (Der folgende Code ist in einer PHP3-Datei):

        Das ist Imaginärcode und so nicht umsetzbar. Du solltest besser gleich auf PHP5 umstellen. PHP3 wird sowieso nicht mehr offiziell unterstützt.

        Einen schönen Samstag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
        1. Hallo nochmal.

          Ohne konkret zu wissen, was du genau willst, ist nur eine Antwort möglich: "Vielleicht"

          Der Befehl, den ich meine ist sys_getloadavg.

          Dann frage doch ab, ob diese Funktion definiert ist.

          PHP3 ist wirklich Murks. Nicht einmal diese Funktion gibt es.

          Ich dachte mir das so (Der folgende Code ist in einer PHP3-Datei):

          Das ist Imaginärcode und so nicht umsetzbar. Du solltest besser gleich auf PHP5 umstellen.

          Definitiv!

          Einen schönen Samstag noch.

          Gruß, Mathias

          --
          ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
          debian/rules
          1. PHP3 ist wirklich Murks. Nicht einmal diese Funktion gibt es.

            Ich dachte mir das so (Der folgende Code ist in einer PHP3-Datei):

            Das ist Imaginärcode und so nicht umsetzbar. Du solltest besser gleich auf PHP5 umstellen.

            Definitiv!

            Läuft der Code denn weiter, ist PHP5 denn, äh, abwärtskompatibel (bzgl. PHP3 z.B.), weiss das zufällig jemand?

            1. Hallo

              Das ist Imaginärcode und so nicht umsetzbar. Du solltest besser gleich auf PHP5 umstellen.

              Definitiv!

              Läuft der Code denn weiter, ist PHP5 denn, äh, abwärtskompatibel (bzgl. PHP3 z.B.), weiss das zufällig jemand?

              Es gibt einige Funktionen/Funktionsgruppen, die im Laufe der Zeit rausfielen (bzw. mittlererweile als "deprecated" gelten), aber die meisten Funktionen aus PHP3 gibt es auch noch in PHP5.

              Tschö, Auge

              --
              Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
              (Victor Hugo)
              <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
              Veranstaltungsdatenbank Vdb 0.1
      2. Hallo

        1. du lässt dein PHP3-Script durch den PHP5-Interpreter abarbeiten.

        Wie mache ich das?

        Wenn es _dein_ Server ist, du also Zugriff auf die Konfiguration hast, kannst du dem Server sagen, dass er Dateien mit der Endung *.php3 durch den PHP5-Parser jagen soll.

        http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf15.htm#a4
        Innerhalb einer .htaccess geht es auch (analog zu): http://forum.de.selfhtml.org/archiv/2006/6/t131241/#m848921

        Tschö, Auge

        --
        Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
        (Victor Hugo)
        <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
        Veranstaltungsdatenbank Vdb 0.1
    2. Hi,

      1. du rufst aus deinem PHP3-Script ein Script auf, das durch den PHP5-Interpreter ausgeführt wird.

      nur rein theoretisch: Ist es dazu möglich, einfach eine PHP5-Datei zu includen?

      <?php

      PHP3-Code
      include "PHP5-Datei";
      PHP3-Code

      ?>

      Viele Grüße

      Jörg

      1. Hallo Jörg,

        nur rein theoretisch: Ist es dazu möglich, einfach eine PHP5-Datei zu includen?

        Nein, bei include wird nur der Inhalt der entsprechenden Datei an die Stelle der Anweisung eingesetzt. Der Parser sieht keinen Unterschied zu dem Fall, dass die entsprechenden Anweisungen direkt an der Stelle notiert wären.

        Um der Korrektheit willen. Der Parser wechselt beim Aufruf von include oder require in den HTML-Modus, das ist aber nur der gleiche Effekt wie ein ?>...<?php hätte.

        Wenn man ein PHP-5-Script einbinden will, muss man es wie jedes andere Programm über die Funktionen system() oder exec() aufrufen.

        Schöne Grüße,

        Johannes

        1. Hallo Johannes,

          nur rein theoretisch: Ist es dazu möglich, einfach eine PHP5-Datei zu includen?

          Nein, bei include wird nur der Inhalt der entsprechenden Datei an die Stelle der Anweisung eingesetzt. Der Parser sieht keinen Unterschied zu dem Fall, dass die entsprechenden Anweisungen direkt an der Stelle notiert wären.

          aha, dankeschön. Ich hätte mir vorstellen könne, dass bei der Datei, die aufgrund des Includes eingebunden wird, aufgrund der Endung PHP5 verwendet wird.

          Wenn man ein PHP-5-Script einbinden will, muss man es wie jedes andere Programm über die Funktionen system() oder exec() aufrufen.

          Danke - zum Glück brauche ich es (noch?) nicht, hat mich nur interessiert.

          Viele Grüße

          Jörg

          1. Hallo Jörg,

            aha, dankeschön. Ich hätte mir vorstellen könne, dass bei der Datei, die aufgrund des Includes eingebunden wird, aufgrund der Endung PHP5 verwendet wird.

            Nein, es interessiert weder den Parser noch den Webserver welche Endung die eingebundene Datei hat.

            Schöne Grüße,

            Johannes

            1. Hallo Johannes,

              Nein, es interessiert weder den Parser noch den Webserver welche Endung die eingebundene Datei hat.

              ja, jetzt ist es klar, danke.

              Viele Grüße

              Jörg

        2. Ich grüsse den Cosmos,

          Wenn man ein PHP-5-Script einbinden will, muss man es wie jedes andere Programm über die Funktionen system() oder exec() aufrufen.

          Das hat aber den Vorteil, das man wirklich jede einzelne Funktion nachbilden kann. Würde aber nur Sinn machen, wenn aus irgendeinem Grund PHP im Webserver läuft, PHP5 nur als CLI. Ob es dafür einen sinnvollen Anwendungsfall gibt, bezweifle ich jetzt aber.

          Möge das "Self" mit euch sein

          --
          Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
          ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)