[PHP5] Problem bei Skriptausführung via Telnet/SSH

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

  • [PHP5] Problem bei Skriptausführung via Telnet/SSH

    Hallo,

    den Sticky-Thread zu PHP5 hab ich gelesen, jedoch konnt ich hier nix zutreffendes für mich entdecken.

    Folgendes:
    Ich muss per Telnet/SSH ein Skript ausführen das wie folgt aufgerufen wird:

    /usr/sbin/php-cli503 /home/httpd/docs/site/php/mail_exe.php 11111

    In diesem Skript steht dann der Parameter (11111 als Beispiel) im $argv-Array zur Verfügung - register_argc_argv ist on. Soweit sogut.

    In den Zeilen 25 und 26 werden durch folgenden Code Verbindungen zu 2 Datenbanken hergestellt:
    PHP-Code:
        $db db_7840();
        
    $db_statistik db_8516(); 
    Danach steht $argv scheinbar nicht mehr zur Verfügung, oder PHP bricht an dieser Stelle ohne Fehlermeldung ab, was zutrifft konnt ich leider bisher nicht rausfinden. Jedenfalls wenn ich var_dump($argv); vor den Datenbankaufrufen einbinde bekomme ich das Array mit den Werten zurück, führe ich var_dump($argv); nach den DB-Aufrufen aus bekomme ich nichts mehr zurück, nicht mal NULL weshalb ich vermute das PHP hier scheinbar abbricht.

    Die Funktionen für die Datenbankverbindung sind korrekt eingebunden, wenn ich hier absichtlich nen Fehler einbaue erscheinen entsprechende Fehlermeldungen, dass die Datei nicht includiert werden konnte und das die Funktionen nicht zur Verfügung stehen.

    Die Datei mit den DB-Aufrufen binde ich auch in zig anderen Skripten ein und funktioniert dort problemlos.

    Das ganze kam wie gesagt seid der Umstellung auf PHP5.

    Ich hab echt keine Ahnung mehr wo ich noch suchen könnte , hat jemand irgendeine Idee?

    Gruss
    Quetschi
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    reduziere die anwendung auf das wesentliche, bis du den fehler hier ganz zeigen kannst.

    verusche, den inhalt des arrays in eine andere variable abzulegen, bevor die db angesprochen wird. evtl. func_get_args() erneut aufrufen.

    Kommentar


    • #3
      Stand der Dinge:

      Ausführen über Browser -> i.O.

      Ausführen über Telnet:
      Call to undefined function mysql_connect() in.....

      Bei Ausführung über Kommandozeile kein Mysql-Support?

      Jedoch wird dies auch bei ausführen eines phpinfo() Skripts über Telnet angezeigt?

      Ich dreh noch durch.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar


      • #4
        Muss mich korrigieren:

        Mysql-Support scheint tatsächlich aus zu sein, sobald man phpinfo(); über Telnet ausführt.

        Problematik so schon mal bei jemanden aufgetaucht?
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Dürfte ein Problem vom Hoster sein, hab den Support angeschrieben.

          Danke penizillin

          Gruss
          Quetschi
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Hast du evtl. mehrere PHP-Versionen und du steuerst eine andere PHP-Version z.B. per .htaccess in deinem WWW-Verzeichnis an, bei Telnet wird das aber ignoriert?
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              /usr/sbin/php-cli502
              /usr/sbin/php-cli503
              stehen zur Verfügung, der Apache führt über 5.0.2 aus,

              in Telnet rufe ich ja mit /usr/sbin/php-cli502 bzw. /usr/sbin/php-cli503 auf, das kann ja eigentlich nicht ignoriert werden, oder? Jedenfalls ist in beiden Fällen kein mysql-Support ersichtlich, über den Apachen aber schon.

              Seltsame Kiste.
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                kanns sein, dass bei dir da php als cgi läuft? wenn ja, dann liegts daran, dass mysql nur mit der cgi version von php gebunden ist.

                Kommentar


                • #9
                  jo, läuft in dem Fall als cgi.

                  aber auch wenn ich über Telnet über /usr/sbin/php-cgi502 die phpinfo() anschaue, erscheint hier kein mysql_support. Überhaupt scheint über Telnet die php.ini nicht berücksichtigt zu werden

                  Was kann man da machen? Bin Installations- und Konfigurationsmäßig nicht grad der Checker, kenn nur die für mich wichtigsten Sachen, lass solche Sachen meist vom Support regeln.

                  Werd mich bei Gelegenheit mal umschauen, aber heute hab ich keine Lust mehr.

                  Danke für den Tipp
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    ich hab natuerlich keine ahnung welche distri du da hast und so oder ob du bock aufs kompilieren hast.

                    deshalb: wenn du dich auf dem server austoben kannst, dann besorg dir einfach xampp von www.apachefriends.org fuer linux, hau das directory irgendwo hin und benutz das php-cli von denen. müsstest dann auf deinen laufenden mysql server zugreifen können...

                    Kommentar


                    • #11
                      Wozu denn die Mühe, via Webserver gehts ja und der ist doch auch lokal erreichbar.

                      Script minimal modifizieren (GET statt argc/v) und
                      lynx http://localhost/path/to/file.php?var=11111
                      oder w3m oder wget oder ...

                      Kommentar


                      • #12
                        Ganz einfach, das Script wird mit aus einem anderen Script mit exec(); aufgerufen, sodass es im Hintergrund läuft und das aufrufende Script sofort ohne Verzögerung weiterläuft.

                        Der Support hat mittlerweile die MySql-Unterstützung auch in die Cli-Version eingearbeitet -> Problem gelöst.

                        Danke an alle

                        Gruss
                        Quetschi
                        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                        Schön - etwas Geschichte kann ja nicht schaden.
                        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                        Kommentar

                        Lädt...
                        X