Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Lösung: "VCHI initialization failed" bei "/temp.php" Aufruf

Guten Abend,

ich versuche die temp.php vom Linuxrechner via Browser auf dem Raspberry aufzurufen, das wird mir aber immer mit dieser Meldung quittiert:
 

Zitat
VCHI initialization failed
Nun habe ich schon eineige Lösungsvorschläge auf englisch, chinesisch und cryptisch gefunden, allerdings komme ich da nicht so richtig weiter.
Kennt Ihr die Lösung des Problems?
Gern höre ich von Euch!

Mirko
« Letzte Änderung: 05.03.19, 11:57:53 von nico »


Antworten zu Lösung: "VCHI initialization failed" bei "/temp.php" Aufruf:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Hallo Mirko,

welche temp.php Datei meinst du denn? Zum Aufrufen von PHP Dateien benötigst du in der Regel einen Webserver (z.B. Apache). Hast du den installiert? Dann solltest du mit dem Browser über die IP-Adresse die Datei aufrufen können, z.B.:

http://127.0.0.1/temp.php

Oder, ohne Browser in der Konsole:

php temp.php


Schau auch mal hier:
https://www.computerhilfen.de/info/php-auf-dem-raspberry-pi-installieren.html

Hallo,

php und Apache2 ist auf allen Rechnern installiert und funktioniert!
Die phpinfo.php auf dem Raspberry kann problemlos vom Linux-Rechner aufgerufen werden.
Nur bei dieser temp.php kommt eben diese Meldung.
Hier noch mal der Inhalt der temp.php:
 

Zitat
<?php
$temp = exec('vcgencmd measure_temp');

$temp = str_replace('temp=','',$temp);
$temp = str_replace('\'C','',$temp);

echo $temp;
?>
Meiner Meinung nach stimmt der Inhalt.
Freue mich auf die Lösung.

Mit freundlichen Grüßen

Mirko

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Ah, du meinst mein Skript von hier?
https://www.computerhilfen.de/info/raspberry-pi-cpu-temperatur-messen-und-anzeigen.html

Gerade noch mal neu erstellt, läuft bei mir ohne Probleme auf einem Raspberry Pi 3. Wichtig ist da ja dieser Systembefehl, den du auch über die Konsole aufrufen kannst:

vcgencmd measure_temp

Was passiert denn, wenn du das so aufrufst in der Konsole, als normaler Nutzer "pi"? Und welches Raspberry-Modell hast du denn?

Die Befehle von der Linux-Konsole an den Raspberry werden sofort problemlos beantwortet, nach dem man sich via SSH eingeloggt hat.
Zum Beispiel:
 

Zitat
pi@raspberrypi:~ $ vcgencmd measure_temp
temp=45.6'C
Apache ist natürlich auch gestartet, trotzdem kommt mit PHP keine Anzeige.
Der Raspberry ist dieser hier: Raspberry Pi 3 Model B+ 1,4 GHz 64Bit Quad Core (eb6598)

Mirko

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Hallo!

Versuch mal, den Apache-User "www-data" der Gruppe "video" zuzuordnen. Warum es die video Gruppe sein muss, weiß ich nicht, aber das soll laut stackoverflow.com helfen.

sudo usermod -aG video www-data


Alternativ hätte ich ein "sudo" vor den Befehl gesetzt:

$temp = exec('sudo vcgencmd measure_temp');

Das mit der Gruppe "video" zuordnen habe ich vorher schon ausprobiert, ohne Erfolg!
Auch Dein 2. Vorschlag mit dem "sudo" voran war leider nicht die Lösung.
 [???]

...übrigens wird nun gar nichts mehr angezeigt, also keine Fehlermeldung wie im Betreff beschrieben.
Trotzdem wird die Seite ja doch irgendwie aufgerufen.
Wenn ich nämlich nur "/emp.php" aufrufe, dann kommt:
 

Zitat
Not Found

The requested URL /emp.php was not found on this server.
Apache/2.4.25 (Raspbian) Server at 192.xxx.xxx.xx Port 80
Ziffern habe ich mal durch "x" ersetzt.
Also aufgerufen wird die Datei wahrscheinlich schon, nur eben nicht dargestellt.
Immer noch  [???]

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt
The requested URL /emp.php was not found on this server

Ja, weil du "amp.php" statt "temp.php" geschrieben hast ;-)


Prüfe doch bitte mal, ob www-data wirklich in der Video-Gruppe ist. Gib dazu in einer Konsole ein:

id www-data
Bei mir sieht das so aus:

pi@raspberrypi:~ $ id www-data
uid=33(www-data) gid=33(www-data) Gruppen=33(www-data),44(video)

 

Zitat
Ja, weil du "amp.php" statt "temp.php" geschrieben hast ;-)
Sag ich doch, wollte eben nur noch mal die Logik darstellen.

Hier die Ausgabe bei mir:
 
Zitat
pi@raspberrypi:~ $ id www-data
uid=33(www-data) gid=33(www-data) Gruppen=33(www-data),44(video)

Mit freundlichen Grüßen

Mirko

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Dann weiß ich auch nicht weiter - bei mir auf dem Pi 3B läuft das Skript, hatte es ja nochmal gespeichert und geprüft.

Vielleicht hilft dir ein Update der Firmware mit "sudo apt-get update", "sudo apt-get upgrade", "sudo apt-get dist-upgrade". Würde mich aber wundern (gerade weil du ja über die Konsole die Kommandos ausführen kannst), aber man kann ja nie wissen.

Vielleicht würde es gehen, wenn du den Befehl in ein Shell-Skript packst und den dann mit PHP aufrufst? Also mit "nano temp.sh" ein neues Skript erstellen, am besten direkt in dem Ordner, in dem sich die PHP Datei befindet. Inhalt:

#! /bin/sh
vcgencmd measure_temp

Das kannst du dann über die Konsole so aufrufen:

sh temp.sh

oder über PHP:

<?php
$temp 
exec('sh temp.sh');
echo 
$temp;
?>


Klappt das?

Hallo Nico,

fein wieder etwas von Dir zu hören!
Das Script konnte ich über die Konsole vom Linux-Rechner auf den Raspberry aufrufen.
Der Aufruf der entsprechenden PHP bleibt erfolglos (leere graue Seite)!

...übrigens, egal von welchem Linux-Rechner im Netzwerk ich die PHP aufrufe, sie wird nicht angezeigt.
Somit liegt das vermutlich am Raspberry.
Als Webserver funktioniert er aber einwandfrei!

So, da ich hier kein Weiterkommen sah, habe ich den Raspberry neu aufgesetzt!
Anschließend bin ich Schritt für Schritt die Installation von Apache2 und PHP7 durchgegangen.
Die "phpinfo.php" wird angezeigt! Anschließend habe ich die "temp.php" nach Anleitung kreiert. Der Aufruf dieser Datei wurde mit "VCHI initialization failed" quittiert! Per Konsole wird mit "vcgencmd measure_temp" die Teparatur angezeigt.
Dann habe ich mit "sudo usermod -aG video www-data" die Gruppe Video zugeordnet. Das Resultat ist, die Fehlermeldung kommt bei dem Aufruf der temp.php nicht mehr, dafür wird aber auch gar nichts mehr angezeigt.
Langsam nähere ich mich wieder dem Stand der Dinge, welchen ich vor dem Neuaufsetzen des Raspberry war!
Nun kommt's: Wenn ich aber die Skriptdatei "temp.sh" mit entsprechendem Inhalt erstelle, dann die "temp.php" mit diesem Inhalt fülle:
<?php
$temp = exec('sh temp.sh');
echo $temp;
?>
...dann erscheint "VCHI initialization failed" !!!
Das führt bei mir nun langsam zu Erschöpfung!
Gibt es weitere Lösungsvorschläge?
Mirko  [???][???][???]

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Hallo Mirko,

hast du beim Neuaufsetzen ein neues Image geladen oder mit einem älteren gearbeitet?
Du nutzt aber Raspbian, oder?

Nachdem du www-data der Gruppe "video" zugeordnet hast musst du den Raspberry auch einmal neustarten - hattest du das?

sudo usermod -G video www-data
Viele Grüße,
Nico
« Letzte Änderung: 05.03.19, 11:13:48 von nico »

Guten Tag Nico,

ich habe jedes mal von der mitgelieferten Micro-SD neu installiert. Da kam übrigens die Meldung, das der Hash nicht überein stimmt!
Nun habe ich es noch einmal neu installiert!
Es gab aber langwierige Updates.
Schritt für Schritt...
Fehlermeldung...
Videogruppe...
Skriptdatei "temp.sh" mit entsprechendem Inhalt erstellt, dann die "temp.php"....
Es funktioniert nun! :D
Wo genau der Fehler lag kann ich eigentlich nicht nachvollziehen, leider.
Dir möchte ich noch einmal recht herzlich für Deine geduldige Mühe danken!
Anderenfalls hätte es mir den weiteren Umgang mit PHP wohl verleidet!
Weiterhin viel Erfolg wünsche ich Dir!

Mit freundlichen Grüßen

Mirko


Gefunden bei http://www.computerhilfen.de

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Eine andere Alternative wäre dieser Befehl, der dir auch die Temperatur anzeigt, allerdings nur als Zahl, ohne Text. Außerdem musst du den Wert erst durch 1000 teilen, damit er stimmt:

cat /sys/class/thermal/thermal_zone0/temp
Der PHP Code wäre dann (konnte ich gerade nur in der Konsole testen, da klappte es aber):

<?php
$temp 
exec('cat /sys/class/thermal/thermal_zone0/temp');

$temp round($temp/1000,2);

echo 
$temp.' Grad C!';
?>

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
1 Leser hat sich bedankt

Ah, super, es funktioniert! Freut mich!

Dann weiter viel Erfolg mit dem Raspberry und PHP!  :)


« notebook ruckelt,an was kanns liegen ?Stromanschluss für AVERATEC 5500 gesucht »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Browser
Der Browser oder Webbrowser ist das Programm, dass die HTML - Befehle einer Internetseite mit Bildern, Videos und Texten auf dem Bildschirm anzeigt. Der Browser ist also ...

Webbrowser
Siehe auch Browser. ...

Browser Verlauf
Der Browser-Verlauf zeigt die zuletzt im Browser besuchten Webseiten an: So hat man leicht Zugriff auf die Seiten, die man schon einmal angesehen hatte. Je nach Browser h...