Daten auf Syslog an PHP übergeben

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

  • Daten auf Syslog an PHP übergeben

    Hab hier ein kleines Script geschrieben das auch normal funktioniert. Habe es auf einer Windows-Oberfläche geschrieben und per SSH auf meine OpenBSD-Server-Kiste gezogen.

    Ja viele würden mich dafür schlagen *grins* Aber die Rechte hab ich auf 777 gesetzt und chown=root und chgrp=wheel

    Nun habe ich das Problem, dass ich dieses Script nicht ausführen lassen kann.
    Das Script liest eigentlich nur einige Zeilen aus einem File aus und schreibt die Daten als String pro zeile in eine Datenbank.
    Wie oben erwähnt funktioniert das Script auch wenn ich es unter Windows laufen lasse.

    Habe über Konsole folgendes probiert:
    wget http://localhost/phptest.php
    php http://localhost/phptest.php
    (jeweils mit und ohne > /dev/null)

    Habe dasselbe auch in einem Cronjob (als root) stehen der jede Minute ausgeführt wird aber das klappt leider auch nicht.
    Habe grad noch versucht von Win per Browser das File (Auf der BSD-Kiste) aufzurufen und musste enttäuschend feststellen dass nichtmal da das File korrekt ausgeführt wird.

    Hier mal mein Script:

    PHP-Code:
    <?php
    $dbhost
    ="localhost";
    $dbuser="root";
    $dbpw="password";
    $dbdatabase="bla";
    $dbtable="bla";
    $pipefile="/mysql.pipe"// Pfad zur temp-Datei in der die Syslogs liegen

    if (file_exists($pipefile)) {        // Prüfung ob File existiert

    $fp fopen($pipefile"r"); // File öffnen und Zeiger an Anfang der Datei setzen
    $db=mysql_connect($dbhost,$dbuser,$dbpw);
    mysql_select_db($dbdatabase$db);

    while (!
    feof($fp)) { // Solange mach dies bis Zeiger $fp am Ende der Datei

        
    $data=fgets($fp);
        
    mysql_query("INSERT INTO $dbtable (blub) VALUES ('$data')"$db);
        
    }

    fclose($fp); // File schließen
    $outputdb=mysql_query("SELECT * FROM $dbtable LIMIT 0 , 30"$db); //Inhalte des Table auswählen
    mysql_close($db);
    // START Ausgabe des Table in einer Tabelle
    echo "<table>\n";
    echo 
    "Datenbankeinträge<br>";
    while (
    $line mysql_fetch_array($outputdbMYSQL_ASSOC)) {
        echo 
    "\t<tr>\n";
        foreach (
    $line as $col_value) {
            echo 
    "\t\t<td>$col_value ||</td>\n";
        }
        echo 
    "\t</tr>\n";
    }
    echo 
    "</table>\n";
    // ENDE Ausgabe Table
    } else

    // START File erstellen
    tempnam('$pipefile',"FOO");
    $fp fopen($pipefile"w");
    fwrite($fp"");
    fclose($fp);
    // END File erstellen

    echo("<hr>ENDE");
    ?>
    Zuletzt geändert von ; 18.02.2005, 15:49.
Lädt...
X