PHP-Version auf remote server ermitteln

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

  • PHP-Version auf remote server ermitteln

    Moin,

    gibt es eine Möglichkeit mit einem Script zu ermitteln ob PHP auf einem entfernten Server aktiviert ist, und wenn PHP aktiv ist, welche Version?

    Folgendes Problem:

    Ich arbeite gerade an einem CMS, welches sich mit Hilfe eines Dialoges selber auf dem entfernten Server installieren soll. FTP und Datenbankzugriff ist kein Problem. Die Zugangsdaten von dem entfernten Server sind natürlich bekannt. Aber bevor das Script eine FTP-Verbindung aufbaut um die Daten auf den Server zu laden, sollte es schon wissen ob PHP Überhaupt auf dem Server zur Verfügung steht, und wenn währe auch die Versionsnummer von PHP hilfreich.

    DANKBAR FÜR JEDEN HINWEIS

    Mfg

  • #2
    Naja, dein Script könnte ja erstmal ne Datei auf den Server laden, in der phpinfo(); ausgeführt wird. Wenn diese Datei dann ne Ausgabe macht, kann dein Script die restlichen Dateien hochladen.
    MfG,
    MrBona

    Kommentar


    • #3
      Hallo MrBona,

      An so etwas hatte ich auch schon gedacht. Eine Datei mit phpversion() hochladen. Aber wie bekomme ich das Ergebnis in eine Variable die ich dann in dem Script auf dem ausführenden Server weiterverarbeiten kann.

      mfg

      lueken

      Kommentar


      • #4
        http://de3.php.net/manual/en/functio...t-contents.php
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Hallo lueken,

          wenn Du ein PHP-Script hochladen kannst, dann kannst Du Dir in diesem Script doch direkt die benötigten Infos so zusammenstellen, wie Du sie brauchst. Dann sparst Du Dir das umständliche Parsen der Ausgabedatei und kannst das Ausgabeformat selbst bestimmen.

          Schau mal hier: http://www.dislabs.de/index.php?ac=labor&sub=5&id=5
          Da werden ein paar Systemvariablen ausgelesen und angezeigt, unter anderem auch die PHP-Version.

          Kommentar


          • #6
            Hey, das ist mal ein cooler Tipp, jetzt hab ich auch eine Lösung dafür.

            DANKE!

            Kommentar


            • #7
              Original geschrieben von DSB
              Hallo lueken,

              wenn Du ein PHP-Script hochladen kannst, dann kannst Du Dir in diesem Script doch direkt die benötigten Infos so zusammenstellen, wie Du sie brauchst. Dann sparst Du Dir das umständliche Parsen der Ausgabedatei und kannst das Ausgabeformat selbst bestimmen.

              Schau mal hier: http://www.dislabs.de/index.php?ac=labor&sub=5&id=5
              Da werden ein paar Systemvariablen ausgelesen und angezeigt, unter anderem auch die PHP-Version.
              Ja, ist schon Klar! Soweit war ich auch schon (Lange), aber die Variablen werden auf dem ausführenden Server benötigt. Aus Sicherheitsgründen werden solche Variablen nicht von entfernten Servern auf dem eigenen Server preisgegeben.

              Ein Script auf dem eigenen Server (Server-A) lädt eine Datei (z.B. mit dem Inhalt $var='test') auf dem entfernten Server (Server-B). Das Script auf Server-A bindet diese hochgeladene Datei mit include(http://www.Server-B.de/datei.php) oder require(http://www.Server-B.de/datei.php) ein. Die Variablen die auf Server-B ermittelt wurden stehen aber auf Server-A nicht zur Verfügung! Die Variable $var ist auf Server-A trotzdem noch leer bzw. unbekannt.

              Mit Lokal eingebundenen Dateien funktioniert so etwas, aber nicht mit Dateien die von einem entfernten Server eingebunden werden. Kannste ja mal ausprobieren. Wenn das denn bei Dir Klappt, verrate bloß niemanden bei wem Du die Webseiten hostest

              mfg

              lueken

              Kommentar


              • #8
                Das Script auf Server B soll die Daten als Ausgabe liefern welche Du Dir mit Server A mit einem Get-Request abholst und auswertest.

                Kommentar


                • #9
                  Original geschrieben von DSB
                  Das Script auf Server B soll die Daten als Ausgabe liefern welche Du Dir mit Server A mit einem Get-Request abholst und auswertest.
                  Ähhhh, wie jetzt? Bahnhof?! Nöööö?!

                  Das Script auf Server-A soll feststellen ob auf Server-B PHP aktiviert ist und welche Version von PHP aktuell läuft, Um diese Information auf Server-A weiterverarbeiten zu können.

                  include() und require() funktioniert nicht. Aber der Tipp von Abraxax hat mein Problem schon gelöst!

                  Danke!

                  Kommentar


                  • #10
                    Du könntest doch einfach die Server Response Header auswerten. Dort steht afaik die PHP Version und auch die Serverversion drinn.
                    Ich weiss aber nicht ob diese Angaben unterdrückt werden könnten...

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      Original geschrieben von lueken
                      Ähhhh, wie jetzt? Bahnhof?! Nöööö?!
                      ... Aber der Tipp von Abraxax hat mein Problem schon gelöst!
                      Prima. Dann spare ich mir weitere Erläuterungen.

                      Kommentar


                      • #12
                        Original geschrieben von jahlives
                        Du könntest doch einfach die Server Response Header auswerten. Dort steht afaik die PHP Version und auch die Serverversion drinn.
                        Ich weiss aber nicht ob diese Angaben unterdrückt werden könnten...

                        Gruss

                        tobi
                        Hallo tobi,

                        hab da mal etwas mit herumprobiert und bin zu dem Ergebnis gekommen, das diese Header die vom Server gesendet werden nicht immer ganz korrekt sind?! Einige Server (bei verschiedenen Hostern) die ich getestet habe und wo definitiv kein PHP aktiviert ist, haben dennoch in dem gesendeten Header einen Eintrag über eine PHP-Version. Also ist diese Methode nicht 100% save!

                        Aber Danke für den Tipp.

                        MfG

                        lueken

                        Kommentar


                        • #13
                          nein, darauf kann man sich in der tat nicht verlassen.

                          Kommentar

                          Lädt...
                          X