sinon oui connaisseur php ou @Jedediah

jean-luc wrote:Bonjour;
Merci Xavier de m'avoir éclairé.
J'ai résolu une grosse partie des erreurs en remplaçant:
titre par 'titre'
icone par 'icone'
lien par 'lien"
dans le fichier "/var/www/tardistart/index.php"
Il ne reste plus qu'une seule erreur:
La ligne 11 doit correspondre à cette partie du fichier "/var/www/tardistart/statsServ.php":
2016/10/25 11:39:58 [error] 3724#3724: *50 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined offset: 1 in /var/www/tardistart/statsServ.php on line 11 PHP message: PHP Notice: Undefined offset: 1 in /var/www/tardistart/statsServ.php on line 11" while reading upstream, client: 11.222.333.44, server: www.mondomaine.fr, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "www.mondomaine.fr"
Si un conaisseur php passe par là ....
<?php function getUpTime() { // UPTIME exec("uptime", $system); // get the uptime stats $string = $system[0]; // this might not be necessary $uptime = explode(" ", $string); // break up the stats into an array $up_days = $uptime[3]; // grab the days from the array $hours = explode(":", $uptime[6]); // split up the hour:min in the stats $up_hours = $hours[0]; // grab the hours $mins = $hours[1]; // get the mins $up_mins = str_replace(",", "", $mins); // strip the comma from the mins return [$up_days, $up_hours, $up_mins]; }
Merci.
$hours = explode(":", $uptime[6]); // split up the hour:min in the stats
par : $hours = explode(":", $uptime[1]); // split up the hour:min in the stats
et ça devrait fonctionner.Salut,
donc la je vient de me penché sur ton problème et j'ai peu être une solution très simple
dans index.php
tu remplace
<?php include_once('./statsServ.php');
$uptime = getUpTime()[0];
if(getUpTime()[0] === 1): $uppy = $uptime . " jour"; else: $uppy = $uptime . " jours"; endif;
$json = file_get_contents('admin/service.json');
$data = json_decode($json, true);
?>
par
<?php include_once('./statsServ.php');
$uppy = shell_exec('uptime | tr "," " " | cut -f4-7 -d" "');
$json = file_get_contents('admin/service.json');
$data = json_decode($json, true);
?>
puis dans le ficher statsServ.php tu supprime la fonction getUpTime() (pour rendre le code propre car on s'en sert plus)
c'est pas tres jolie mais sa fonctionne(pas pu tester avec "jour" car je suis sur une vm)
voila...
Bonsoir
alors voici une autre solution pour afficher les heures et les minutes en plus des jours de fonctionnement du serveur
dans index.php se trouvant dans le dossier admin remplacé ceci
<body style="background-image: url("../assets/img/bg1.jpg");">
<?php include_once('../statsServ.php');
$uptime = getUpTime()[0];
if(getUpTime()[0] === 1): $uppy = $uptime . " jour"; else: $uppy = $uptime . " jours"; endif;
$json = file_get_contents('./service.json');
$data = json_decode($json, true);
?>
par cela
<body style="background-image: url(../assets/img/bg1.jpg);">
<?php include_once('../statsServ.php');
//$uppy = getUpTime()[0];
$uppy = uptime ();
$json = file_get_contents('./service.json');
$data = json_decode($json, true);
?>
dans statsServ.php
il faut remplacé ceci
function getUpTime() {
// UPTIME
exec("uptime", $system); // get the uptime stats
$string = $system[0]; // this might not be necessary
$uptime = explode(" ", $string); // break up the stats into an array
$up_days = $uptime[3]; // grab the days from the array
$hours = explode(":", $uptime[6]); // split up the hour:min in the stats
$up_hours = $hours[0]; // grab the hours
$mins = $hours[1]; // get the mins
$up_mins = str_replace(",", "", $mins); // strip the comma from the mins
return [$up_days, $up_hours, $up_mins];
}
par cela
function uptime () {
// UPTIME
$fd = fopen('/proc/uptime', 'r');
$ar_buf = split(' ', fgets($fd, 4096));
fclose($fd);
$sys_ticks = trim($ar_buf[0]);
$min = $sys_ticks / 60;
$hours = $min / 60;
$days = floor($hours / 24) ;
$hours = floor($hours - ($days * 24));
$min = floor($min - ($days * 60 * 24) - ($hours * 60));
if ($days != 0) {
$result = "$days " . "jours ";
}
if ($hours != 0) {
$result .= "$hours " . "heures ";
}
if ($min != 0) {
$result .= "$min " . "minutes ";
}
return $result;
}
pour finir dans le dossier tardistart il faut modifier le fichier index.php
soit ceci
<?php include_once('./statsServ.php');
$uptime = getUpTime()[0];
if(getUpTime()[0] === 1): $uppy = $uptime . " jour"; else: $uppy = $uptime . " jours"; endif;
$json = file_get_contents('admin/service.json');
$data = json_decode($json, true);
?>
par cela
<?php include_once('./statsServ.php');
//$uppy = getUpTime()[0];
$uppy = uptime ();
$json = file_get_contents('admin/service.json');
$data = json_decode($json, true);
//echo "Server Uptime: <b>".uptime()."</b>";
?>
là je pense que ça devrait fonctionner,
j'ai essayé en modifiant les données du texte original du fichier statsServ.php par celui ci
/function getUpTime() {
// UPTIME
exec("uptime", $system); // get the uptime stats
$string = $system[0]; // this might not be necessary
$uptime = explode(" ", $string); // break up the stats into an array
$up_days = $uptime[3]; // grab the days from the array
$hours = explode(":", $uptime[5]); // split up the hour:min in the stats
$up_hours = $hours[0]; // grab the hours
$mins = $hours[1]; // get the mins
$up_mins = str_replace(",", "", $mins); // strip the comma from the mins
$result = [$up_days . " jour(s), " . $up_hours . " Heure(s) et " . $up_mins . " minute(s)."];
return $result;
}
mais avec cette config ça ne fonctionne que par intermitence, il y a des heures ou il n'y a que les jours qui s'affichent, et je n'ai pas trouvé ou ça coince.
Ta solution fait le job Xavier mais je ne l'a trouve pas top.
Bonne fin de soirée
Vous pouvez réutiliser le code du seedbox-manager qui a fait ses preuves ici
Après y a peut-être des lib php plus complète sur https://packagist.org
Magicalex
Salut;
Mais c'est bien sur !!! en plus j'avais déjà utilisé seedbox-manager...
Ce n'était qu'un détail que Jedediah a du zapper, mais avec ça, plus d'erreurs dans error.log durant les premières 24h et en plus, ça n'affiche au moins pas n'importe quoi...
J'ai juste remplacé sa fonction par la tienne dans "statsServ.php"; puis modifier "index.php" comme ceci:
<?php include_once('./statsServ.php');
$uppy = getUpTime();
$json = file_get_contents('admin/service.json');
$data = json_decode($json, true);
?>
-Plus de 24h, ça donne :
http://www.hostingpics.net/viewer.php?id=484932uptime0.png
-Après reboot ceci:
http://www.hostingpics.net/viewer.php?id=556132uptime1.png
Parfait...
Sinon félicitations pour le nouveau site.
A++
Sinon, n'hésitez pas à faire un PR sur Github, ça mange pas de pain et ça contribue au projet.
Je n'ai pas le temps de repasser sur les modifications proposées pour le moment mais si vous faire un PR, je me ferai une joie de le checker et d'intégrer ça à la source
Merci pour ton boulot, c'est bien sympa
Hey Jejediah Dis moi, au debut de ton projet, tu n'avais pas integré un script js permettant un accès rapide a ses sites/liens préféré lorsqu'on pointe sa souris vers le bas de la page ? J'ai le souvenir de ca, mais plus moyen de retomber dessus
Hello !
Petit problème de mon coté, j'ai une erreur 403 pour la page admin de mon coté ... une idée ? merci
Fait nous voir ton vhost
bonsoir
tu as bien remplacé le user de cette ligne par le tiens?
auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user";
Ha ! l'erreur de débutant ... merci superritou, je n'avais effectivement pas remplacer cette ligne x)
Merci bien
Hello,
J'ai tenté de changer le fond d'écran.
Sans succès. Au mieux j'ai un voile blanc
Vous avez une piste du fichier à modifier?
Merci d'avance.