Cronjob liefert kein Ergebnis [SOLVED]
Cronjob liefert kein Ergebnis
Kein Plan wie ich den Betreff schreiben soll.
Es geht um eine Radiostatistik, die Seite dafür läuf fehlerfrei, ist also ans neue PHP angepasst.
Der Cronjob ist auch eingerichtet, so wie die Datenbank wo die Daten gespeichert werden sollen.
Der Cronjob ruft nun alle 15 Minuten eine PHP Datei auf, wo der Shoutcast Stream abgefragt wird.
In die Datenbank sollen Urhzeit, Hörer und der auf dem Stream befindliche DJ gespeichert werden ... und genau hier ist das Problem.
Befehl: /home/users/retterradio/www/webseiten/radiostatistik/streamquery.php
Status: Beendet
Ausführzeit: 00:00:01
Rückgabestatus-Code: 0 (Erfolg)
Ausgabe: Keine Ausgabe
Viel mehr Infos bekomme ich nicht, ich weiß nur das nichts in die Datenbank geschrieben wird.
Die streamquery.php ist fehlerfrei und ans neue PHP als auch an die neue Maria Datenbankversion angepasst.
Hat jemand ne Idee, woran es eventuell liegen könnte?
Hier mal die PHP Info https://www.retter-radio.de/phpinfo.php
Vielleicht muss ich ja noch irgendwas erlauben?
Danke schon mal
PS: Ich kann auch gerne den Code der streamquery.php hier posten, aber wie gesagt an sich ist die fehlerfrei
Es geht um eine Radiostatistik, die Seite dafür läuf fehlerfrei, ist also ans neue PHP angepasst.
Der Cronjob ist auch eingerichtet, so wie die Datenbank wo die Daten gespeichert werden sollen.
Der Cronjob ruft nun alle 15 Minuten eine PHP Datei auf, wo der Shoutcast Stream abgefragt wird.
In die Datenbank sollen Urhzeit, Hörer und der auf dem Stream befindliche DJ gespeichert werden ... und genau hier ist das Problem.
Befehl: /home/users/retterradio/www/webseiten/radiostatistik/streamquery.php
Status: Beendet
Ausführzeit: 00:00:01
Rückgabestatus-Code: 0 (Erfolg)
Ausgabe: Keine Ausgabe
Viel mehr Infos bekomme ich nicht, ich weiß nur das nichts in die Datenbank geschrieben wird.
Die streamquery.php ist fehlerfrei und ans neue PHP als auch an die neue Maria Datenbankversion angepasst.
Hat jemand ne Idee, woran es eventuell liegen könnte?
Hier mal die PHP Info https://www.retter-radio.de/phpinfo.php
Vielleicht muss ich ja noch irgendwas erlauben?
Danke schon mal
PS: Ich kann auch gerne den Code der streamquery.php hier posten, aber wie gesagt an sich ist die fehlerfrei
Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH
- Jolinar
- Community Moderator
- Posts: 3338
- Joined: Sat 30. Jan 2016, 07:11
- Location: Weimar (Thüringen)
- Contact:
Re: Cronjob liefert kein Ergebnis
Das ist so nicht ganz richtig.
Dein OS ist sehr mitteilungsfreudig und protokolliert jede Aktion in irgendein Logfile.
Vielleicht kommt uns ja eine Idee, wenn du uns mit weiteren Informationen versorgst, zB:
- Wie rufst du den Cronjob auf?
- Was steht in den relevanten Logfiles (Webserver, PHP, whatever)?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)
Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
- In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
In this color, I write as a moderator and provide moderative guidance or justify moderative interventions - In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
In this color, I write as a community member and share my personal opinions and views
Re: Cronjob liefert kein Ergebnis
Wie kommst du darauf, dass die streamquery.php fehlerfrei ist obwohl diese doch gar nicht funktioniert????
https://kau-boys.de/4795/webentwicklung ... n-php-code
Vielleicht sind die MariaDB Zugangsdaten falsch?
https://kau-boys.de/4795/webentwicklung ... n-php-code
Vielleicht sind die MariaDB Zugangsdaten falsch?
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Cronjob liefert kein Ergebnis
Zu erst einmal das ist die streamquery.php
Zugangsdaten sind 100% richtig .... habe hier jetzt allerdings das Passwort unkenntnich gemacht
Habe noch eine Subdomain eingerichtet, mit der ich die streamquery direkt aufrufen kann: https://statstest.retter-radio.de/streamquery.php
home/users/retterradio/logs/statstest.retter-radio.de/ Error.log:
[Tue Nov 21 05:38:14.779233 2023] [autoindex:error] [pid 3799276:tid 140091691296512] [client 205.210.31.93:58862] AH01276: Cannot serve directory /home/users/retterradio/www/webseiten/radiostatistik/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
Das ist ja das Problem, es protokolliert alles in "irgendeinem" Log ... aber das erstmal zu finden, außerdem meinte ich mit dem "viel mehr Infos bekomme ich nicht" die Meldung im KeyHelp, da wo man den Cronjob einrichtet und starten kann ect.
Den Cronjob rufe ich gar nicht auf, der ist doch im KeyHelp angelegt (momentan inaktiv, weil es ja noch nicht funktioniert, ansonsten alle 15 Minuten)
Pfad: /home/users/retterradio/www/webseiten/radiostatistik/streamquery.php
Inerval: 15 Minuten
PHP-Skript ausführen
cronjob/master.log:
====
[PID-3896212] [21-Nov-2023 16:28:03] INFO | jobs to run: update.php
[PID-3896212] [21-Nov-2023 16:28:03] INFO | >>> trying to run "update"
[PID-3896212] [21-Nov-2023 16:28:03] INFO | lock "update" acquired
[PID-3896212] [21-Nov-2023 16:28:03] INFO | processing the job ...
[PID-3896212] [21-Nov-2023 16:28:03] INFO | <<< job done, releasing lock "update"
====
Zugangsdaten sind 100% richtig .... habe hier jetzt allerdings das Passwort unkenntnich gemacht

Code: Select all
<?php
$dbhost="localhost";
$dbbase="retterradio_db4";
$dbuser="retterradio_db4";
$dbpwd="xxxxxxxxxxxx";
// $streamURL = "retter-radio.de";
$streamURL = "xxxxxxxxxxx";
$streamPort = 8000;
$errno ="";
$errstr = "";
$page="";
function getDJ($streamTitle, $db) {
$result = new Userdata;
//$sql = "SELECT ID,name FROM mods WHERE `ismod`='1'";
//$rs = $db->query($sql);
$rs = @mysqli_query($db, "SELECT ID,name FROM mods WHERE `ismod`='1'");
if ($rs) {
$mods = array();
while ($md = $rs->fetch_assoc()) {
$usr = new Userdata;
$usr->ID = $md["ID"];
$usr->Name = $md["name"];
array_push($mods,$usr);
}
if (count($mods) > 0) {
foreach ($mods as $mod) {
if (strpos($streamTitle,$mod->Name) > - 1) {
return $mod;
}
}
}
}
return $result;
}
//$db= new mysqli($dbhost,$dbuser,$dbpwd,$dbbase);
$db = @mysqli_connect($dbhost, $dbuser, $dbpwd);
if ($db) {
mysqli_select_db($db,$dbbase);
} else {
die("Live Stats can't connect to mysql - please check your configuration");
}
$fp = fsockopen($streamURL, $streamPort, $errno, $errstr, 30);
if ($fp > 0){
fputs($fp,"GET /index.html?sid=1 HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
while(!feof($fp)) {
$page .= fgets($fp, 1000);
}
$page=substr($page,strpos($page,"Stream Status:")+2,4000);
$page=substr($page,strpos($page,"<b>")+2,4000);
$stat=substr($page,1,strpos($page,"</b>")-1);
$streamdata["status"]=substr_count($stat,"Stream is up");
$lstnstart = strpos($page,"listeners (") + 11;
$lstnend = strpos($page," unique");
$streamdata["listeners"]=substr($page,$lstnstart,$lstnend - $lstnstart);
$streamdata["status"]="on";
$page=substr($page,strpos($page,"Stream Title:")+2,4000);
$page=substr($page,strpos($page,"<b>")+2,4000);
$streamdata["title"]=substr($page,1,strpos($page,"</b>")-1);
$page=substr($page,strpos($page,"Current Song:")+2,4000);
$page=substr($page,strpos($page,"<b>")+2,4000);
$streamdata["song"]=substr($page,1,strpos($page,"</b>")-1);
$streamdata["mod"]= getDJ($streamdata["title"],$db);
//$fp = fopen("hoerer.csv","a");
//fwrite($fp,date("d.m.Y").";".date("H:i").";".$streamdata["title"].";".$streamdata["listeners"]."\r\n");
//fwrite($fp,date("Y-m-d H:i:s").";".$streamdata["title"].";".$streamdata["listeners"]."\r\n");
//fclose($fp);
// SQL-Statement das die Daten in der DB speichert
//$sql = "INSERT INTO hoerer (title,hoerer,`mod`,`modID`) VALUES ('".$streamdata["title"]."','".$streamdata["listeners"]."','".$streamdata["mod"]->Name."',".$streamdata["mod"]->ID.")";
//$db->query($sql);
$result = @mysqli_query($db, "INSERT INTO hoerer (title,hoerer,`mod`,`modID`) VALUES ('".$streamdata["title"]."','".$streamdata["listeners"]."','".$streamdata["mod"]->Name."',".$streamdata["mod"]->ID.")");
@mysqli_close($db);
} else {
$streamdata["status"]="off";
}
class Userdata {
public $ID = 0;
public $Name ="";
}
?>
home/users/retterradio/logs/statstest.retter-radio.de/ Error.log:
[Tue Nov 21 05:38:14.779233 2023] [autoindex:error] [pid 3799276:tid 140091691296512] [client 205.210.31.93:58862] AH01276: Cannot serve directory /home/users/retterradio/www/webseiten/radiostatistik/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive
Das ist ja das Problem, es protokolliert alles in "irgendeinem" Log ... aber das erstmal zu finden, außerdem meinte ich mit dem "viel mehr Infos bekomme ich nicht" die Meldung im KeyHelp, da wo man den Cronjob einrichtet und starten kann ect.
Den Cronjob rufe ich gar nicht auf, der ist doch im KeyHelp angelegt (momentan inaktiv, weil es ja noch nicht funktioniert, ansonsten alle 15 Minuten)
Pfad: /home/users/retterradio/www/webseiten/radiostatistik/streamquery.php
Inerval: 15 Minuten
PHP-Skript ausführen
cronjob/master.log:
====
[PID-3896212] [21-Nov-2023 16:28:03] INFO | jobs to run: update.php
[PID-3896212] [21-Nov-2023 16:28:03] INFO | >>> trying to run "update"
[PID-3896212] [21-Nov-2023 16:28:03] INFO | lock "update" acquired
[PID-3896212] [21-Nov-2023 16:28:03] INFO | processing the job ...
[PID-3896212] [21-Nov-2023 16:28:03] INFO | <<< job done, releasing lock "update"
====
Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH
Re: Cronjob liefert kein Ergebnis
Hallo,
und wenn du ihn auf der Konsole mal manuell ausführst?
und wenn du ihn auf der Konsole mal manuell ausführst?
Mit freundlichen Grüßen / Best regards
Florian Cheno
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Florian Cheno
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Re: Cronjob liefert kein Ergebnis
Ohne mich mit dem Code jetzt länger als 10 Sekunden auseinander gesetzt zu haben, aber du unterdrückst alle potentiellen Fehler bei den mysqli_*() Funktionen mit @.
So siehst du natürlich auch nicht, ob es dort klemmt.
Weiterhin versetzt du das Ganze auch nicht in den "Modus", dass er dir alle Fehler anzeigen soll, Stichwort: display_errors, display_startup_errors, error_reporting
So siehst du natürlich auch nicht, ob es dort klemmt.
Weiterhin versetzt du das Ganze auch nicht in den "Modus", dass er dir alle Fehler anzeigen soll, Stichwort: display_errors, display_startup_errors, error_reporting
Mit freundlichen Grüßen / Best regards
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Alexander Mahr
**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
Re: Cronjob liefert kein Ergebnis
Also ich habe mir den o.g. Code in meinen Editor kopiert.
Dann habe ich Zeichen gezählt.
"(" wird 63 Mal gefunden.
")" aber nur 62 Mal.
Wie heißt es so schön: "Finde den Fehler
"
Dann habe ich Zeichen gezählt.
"(" wird 63 Mal gefunden.
")" aber nur 62 Mal.
Wie heißt es so schön: "Finde den Fehler
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Cronjob liefert kein Ergebnis
=> https://xkcd.com/327/RR_Tappi wrote: ↑Tue 21. Nov 2023, 16:45Code: Select all
$result = @mysqli_query($db, "INSERT INTO hoerer (title,hoerer,`mod`,`modID`) VALUES ('".$streamdata["title"]."','".$streamdata["listeners"]."','".$streamdata["mod"]->Name."',".$streamdata["mod"]->ID.")");
mfg Micha
--
The worst thing in Python vs Perl is that Python is actually being used.
--
The worst thing in Python vs Perl is that Python is actually being used.
Re: Cronjob liefert kein Ergebnis
In Zeile 57 das habe ich gerade entdeckt
Code: Select all
$lstnstart = strpos($page,"listeners (") + 11;
Code: Select all
$lstnstart = strpos($page,"listeners") + 11;
Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH
Re: Cronjob liefert kein Ergebnis
Was soll mir der Link nun sagen24unix wrote: ↑Tue 21. Nov 2023, 17:32=> https://xkcd.com/327/RR_Tappi wrote: ↑Tue 21. Nov 2023, 16:45Code: Select all
$result = @mysqli_query($db, "INSERT INTO hoerer (title,hoerer,`mod`,`modID`) VALUES ('".$streamdata["title"]."','".$streamdata["listeners"]."','".$streamdata["mod"]->Name."',".$streamdata["mod"]->ID.")");

Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH
Re: Cronjob liefert kein Ergebnis
Habe ich noch nie gemacht über die Shell, kannst du mir bitte sagen, wie der Befehl dafür lautet?
Auf dem alten Server ging das alles noch, bis zum Umzug auf den neuen bzw. bis zum Upgrade (neues Betriebssystem, neue Datenbank usw.)
Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH
Re: Cronjob liefert kein Ergebnis
Dass Du offensichtlich nicht weist, was SQL-Injection ist, und wie man sich dagegen schützt.RR_Tappi wrote: ↑Tue 21. Nov 2023, 17:57Was soll mir der Link nun sagen24unix wrote: ↑Tue 21. Nov 2023, 17:32=> https://xkcd.com/327/RR_Tappi wrote: ↑Tue 21. Nov 2023, 16:45Code: Select all
$result = @mysqli_query($db, "INSERT INTO hoerer (title,hoerer,`mod`,`modID`) VALUES ('".$streamdata["title"]."','".$streamdata["listeners"]."','".$streamdata["mod"]->Name."',".$streamdata["mod"]->ID.")");
![]()
Abgesehen davon, das mysqli eigentlich schon lange durch PDO abgelöst ist unterstützt es prepared statements.
Du verwendest ungeprüft Variablen. Im Prinzip braucht nur eine Modi einen "lustigen Tag" haben und setzt einen Titel der die gesamte Db himmelt.
Edit:
Gib mal die Ausgabe von
Code: Select all
show create table hoerer;
Code: Select all
show create table mods;
mfg Micha
--
The worst thing in Python vs Perl is that Python is actually being used.
--
The worst thing in Python vs Perl is that Python is actually being used.
Re: Cronjob liefert kein Ergebnis
Alex hat die Lösung doch schon gepostet.
Error_reporting aktivieren und die angezeigten Fehler abarbeiten.
Dann sollte es wieder funktionieren.
Error_reporting aktivieren und die angezeigten Fehler abarbeiten.
Dann sollte es wieder funktionieren.
Gruß,
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Tobi
-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
Re: Cronjob liefert kein Ergebnis
Der Code ist trotzdem eine Katastrophe, so hat man zu Zeiten von 5.6 evtl. noch gecoded.
mfg Micha
--
The worst thing in Python vs Perl is that Python is actually being used.
--
The worst thing in Python vs Perl is that Python is actually being used.
Re: Cronjob liefert kein Ergebnis [SOLVED]
Wir bauen es gerade komplett neu
Erste Tests liefen schon und es wurde bereits etwas gespeichert
Hat sich also erledigt - danke noch mals
Erste Tests liefen schon und es wurde bereits etwas gespeichert
Hat sich also erledigt - danke noch mals
Ich bin Ostwestfale: STUR . HARTNÄCKIG . KÄMPFERISCH