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, 5213 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 ..
Ähnliche Inhalte
Notebook & Zubehör
ASUS Laptop mit 24GB SSD und 1TB HDD (5)

Frage von Markowitsch zum Thema Notebook & Zubehör ...

Backup
Backup Exec Sicherung auf NAS mit lokalem User (8)

Frage von Fruehling2017 zum Thema Backup ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...