Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

HDD Temperatur per shell exec abfragen

Frage Entwicklung PHP

Mitglied: 8digit

8digit (Level 1) - Jetzt verbinden

05.05.2011 um 12:38 Uhr, 5177 Aufrufe, 8 Kommentare

Guten Tag,

ich habe ich gerade folgendes Script geschrieben:

01.
  
02.
<?php 
03.
$tempHDA = shell_exec('hddtemp -n /dev/hda'); 
04.
$tempHDB = shell_exec('hddtemp -n /dev/hdb'); 
05.
$tempHDC = shell_exec('hddtemp -n /dev/hdc'); 
06.
 
07.
echo $tempHDA.'<br />'; 
08.
echo $tempHDB.'<br />'; 
09.
echo $tempHDC.'<br />'; 
10.
 
11.
?> 
Ziel davon ist es eigentlich, dass mir die Temperatur der drei Festplatten angezeigt wird, jedoch bekomme ich im Browser gar keine Ausgabe.
Bei dem Server handelt es sich um Debian.

Leider weiß ich nicht woran dies liegt, denn wenn ich "'hddtemp -n /dev/hda" in der Konsole eingebe, bekomme ich ein Ergebnis.

Könnt Ihr mir dabei bitte helfen, Danke.

Mfg. 8digit
Mitglied: Dani
05.05.2011 um 12:43 Uhr
Moin,
du weiser aber dass shell_exec im SafeMode von PHP nicht funktioniert. Bitte überprüfe das Mal...


Grüße,
Dani
Bitte warten ..
Mitglied: 8digit
05.05.2011 um 14:41 Uhr
Hallo,

also SafeMode ist ausgeschaltet
und was mich wundert, wenn folgendes funktioniert (damit lese ich die CPU-Temperatur aus)

01.
<?php 
02.
$temperaturCPU = shell_exec('sensors'); 
03.
 
04.
echo $temperaturCPU.'<br />'
05.
?>
Bitte warten ..
Mitglied: Dani
05.05.2011 um 14:53 Uhr
Probier es mal so:
01.
$tempHDA = shell_exec('sudo hddtemp -n /dev/hda');
Ich meine dazu braucht man Root-Rechte...


Grüße,
Dani
Bitte warten ..
Mitglied: 8digit
05.05.2011 um 15:41 Uhr
Also, wenn ich das mit sudo mache, lädt die Seite länger und es kommt immer noch keine ausgabe.

Ich vermute aber, dass es trotzdem irgendwas an den Rechten liegt, weil, wenn ich mich als User einlogge, dann kommt

benutzer@debian:~$ hddtemp -n /dev/hda 
-bash: hddtemp: command not found
und als root, kommt dann

debian:~# hddtemp -n /dev/hda 
34
und weil der Webserver als User "www-user" ausgeführt wird, findet er den Befehl nicht,
was mich jedoch wundert, wieso bekomme ich auf der Homepage nicht die Fehlermeldung angezeigt.?
Bitte warten ..
Mitglied: Dani
05.05.2011 um 16:12 Uhr
Hast du sudo nachinstalliert? Ist nämlich standardmäßig nicht installiert wie z.B. bei Ubuntu.
Bitte warten ..
Mitglied: 8digit
05.05.2011 um 16:39 Uhr
Jup, habe ich nachinstalliert.

ich habe mir hddtemp mal etwas genauer angeschaut und herausbekommen, dass ich, wenn ich per Browser auf den Port 7634 zugreife ich folgende Ausgabe bekomme:
|/dev/hda|ST340823A|35|C||/dev/hdb|SAMSUNG SP0822N|37|C||/dev/hdc|WDC WD1600AAJB-00J3A0|32|C|
so, nun habe ich einfach mit fopen versucht diese seite aus zu lesen:
01.
<?php 
02.
$filestream = fopen("http://localhost:7634", "r");   //localhost, weil das Script auf dem Server liegt. 
03.
while(!feof($filestream)) { 
04.
    $buffer = fgets($filestream, 4096); 
05.
    echo $buffer
06.
07.
fclose($filestream); 
08.
?>
das einige Prblem dabei ist, wenn ich nun die Seite öffne (also nicht die von hddtemp selbst), dann hängt sich mein Firefox auf und ich sehe kurz irgendwelche Fehlermeldung
Diese hier:
Warning: fopen(http://debian:7634/) [function.fopen]: failed to open stream: HTTP request failed! |/dev/hda|ST340823A|35|C||/dev/hdb|SAMSUNG SP0822N|37|C||/dev/hdc|WDC WD1600AAJB-00J3A0|32|C| in /var/www/temperatur/temperatur.php on line 5
Bitte warten ..
Mitglied: Dani
05.05.2011 um 16:48 Uhr
Hmm... das wird so nicht gehen, da du mit fopen nicht auf den Socket zugreifen kannst sondern nur auf eine Datei. Beispiel: http://localhost:7634/index.html
Versuch es mal mit dem Quellcode: http://forum.ubuntuusers.de/topic/mit-php-hddtemp-etc-auf-homeserver-au ...


Grüße,
Dani
Bitte warten ..
Mitglied: 8digit
05.05.2011 um 17:09 Uhr
Ok, also der komplette Quellcode hat mir eigentlich nicht geholfen, eher die Kommentare im Code, weil dieser fast das Selbe ist, wie das von mir, aber nun funktioniert es.

nachdem ich folgendes gemacht habe:
in der Datei "/etc/sudoers "
das "www-data ALL=NOPASSWD: /usr/sbin/hddtemp, /usr/bin/sensors" hinzugefügt.

funktioniert mein Quellcode mit sudo, also
01.
$tempHDA = shell_exec('sudo /usr/sbin/hddtemp /dev/hdb'); 
02.
echo $tempHDA;
Danke für die Hilfe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Crontab mit Shell Probleme (9)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...