Beiträge von Sebbo

    Also laut der README sollte das ja ganz leicht sein...


    Und die Konfig muss man eben Schritt-für-Schritt durchgehen...

    Sorry, hab da was vergessen...


    Du musst diese Zeile...

    Code
    $ts3admin = new ts3admin();


    ...durch diese hier setzen und dabei aber die IP-Adresse, sowie den ServerQuery Port deines TeamSpeak 3 Servers angeben:

    Code
    $ts3admin = new ts3admin('192.168.178.10', 10011);


    Zudem habe ich einmal vergessen, das Objekt "ts3admin" mit an zu geben. Ich habe den Code oben nochmal aktualisiert: Gewisse Server ID nach XXX Stunden löschen?


    Danach sollte alles funktionieren...

    Du musst die ts3admin.class downloaden: ts3admin.class


    ...und in dem von mir oben geschriebenen Pseudocode einbinden:

    Code
    require_once("ts3admin.class.php");


    Danach sollte es für den einen Server jedenfalls was anzeigen. Wenn du es für mehrere machen willst, musst du dir einfach mit der ts3admin.class die serverList() anzeigen lassen und für jeden erhaltenen Server alle Schritte machen. Stichwort: foreach()-Schleife

    Hallo,


    du kannst mit Hilfe der ts3admin.class oder per ServerQuery eben die Virtuellen Server-Informationen auslesen und die Zeit, die der Server online ist, auswerten: ts3admin.class: serverInfo() => virtualserver_uptime


    Und mit Hilfe einer anderen Funktion/Methode kannst du diese Uptime wiederum konvertieren, sodass sie verständlicher ist. Zum Beispiel nach 5d 2h 1m 26s.


    (Der nachfolgende Code ist der aktuelle! Er wurde immer wieder direkt editiert, sowie geprüft/getestet und im Verlauf des Themas lediglich verlinkt.)


    Vollständig funktionierender Code:

    Hallo,
    in dem Tutorial TeamSpeak 3 Server mit ts3server.ini konfigurieren findest du diese Information.


    Du musst hier

    Code
    0.0.0.0


    eintragen.


    "localhost" verweist auf die IP-Adresse 127.0.0.1 und wenn du in deiner INI eine 192.168.178.20 z.B. angegeben hast, dann lauscht die Query-Verbindung nur auf dieser IP und dadurch ist es auch nicht möglich, dich mit "localhost" zu verbinden. Du könntest in der "/etc/hosts" jedoch den localhost Eintrag wie folgt ab ändern:

    Code
    $ cat /etc/hosts
    192.168.178.20 localhost
    127.0.0.1       localhost
    127.0.1.1 teamspeak
    
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters


    Ob das jedoch sinnvoll ist, wäre eine andere Frage. Ich würde es persönlich nicht machen und lieber die 0.0.0.0 IP als query_ip setzen.

    Hallo,


    ich habe ein PHP-Skript gebaut, welches ein paar Werte berechnet und sie in der Datenbank entsprechend aktualisiert, also updated.


    Das funktioniert auch einwandfrei und ohne Probleme. Auch die Fließkommazahlen werden korrekt ausgerechnet.


    Aber sobald ich es in einen Cronjob, wie diesen hier packe...

    Code
    $ cat /etc/cron.d/berechnungPATH=/usr/local/bin:/usr/bin:/bin18 18 * * *     web12 php /var/www/berechnung.php# ^ ^ ^ ^ ^# | | | | |# | | | | |___ Weekday (0-7, Sunday is mostly 0)# | | | |_____ Month (1-12)# | | |_______ Day (1-31)# | |_________ Hour (0-23)# |___________ Minute (0-59)


    ...funktioniert es nicht mehr. Es zieht z.B. anstatts 0,54 einfach so viel ab, dass am Schluss immer ein Integer Wert, also z.B. 16.00 in der Datenbank erscheint. Das Array erhält aber nach vielen Tests und beim Aufruf über eine Webseite immer die korrekten Werte...


    Ich hatte mir mal eine Ausgabe der Arrays, die zu aktualisieren sind, per Mail zukommen lassen, da ich sonst ja keinen Inhalt bzw. keine Ausgabe vom Cronjob sehe:


    Jetzt ist eben die Frage... Warum erhalte ich hier im Array ein Komma im Wert und überall anders nicht? Das muss für Datenbank nämlich ein Punkt sein...


    Wenn ich es auf der Shell oder im Browser aufrufe, gibt er mir das Array korrekt zurück:


    Um es aktuell überhaupt mal zum Laufen zu kriegen, ersetze ich in den Arrays jetzt einfach alle Komma-Zeichen durch einen Punkt:

    Code
    $aData['wert'] = str_replace(",", ".", $aDate['wert']);


    Die mysqli.class.php sieht wie folgt aus: