PHPを使用してCPU温度を読みたいのですが、情報が見つかりません。以下のすべてのパスは/proc/acpi/thermal_zone
空白として表示されます。私は試した:
- /proc/acpi/Thermal_zone/THM0/温度
- /proc/acpi/Thermal_zone/THRM/温度
- /proc/acpi/Thermal_zone/THR1/温度
これらのどれも存在しないようです。 CPU温度モニタの正しいパスは何ですか?
phpinfo()
説明する:
PHP Version 5.4.12
Linux infong 2.4 #1 SMP Thu Feb 14 13:02:49 CET 2013 i686 GNU/Linux
Safe mode is off
Apache
答え1
コアあたりのホットゾーン温度は、/sys/class/thermal/thermal_zone?/temp
カーネルバージョン> 3.xで利用できます。
mt_rand()
シーディングにCPU温度を使用することは意味がありません。 ~によるとmt_rand() ドキュメント、PHPバージョン4.2.0+では、PRNGシードが自動的に実行されます。手動シーディングを使用したい場合でもmt_srand()、CPU温度を使用してこれを行うことは非常に悪い考えです。ほとんどのCPUはかなり一定の動作温度(46℃など)を維持しますが、最新のIntel "i"プロセッサ(i3、i5、i7)ではコアが不要な場合は単にシャットダウンされるため、温度はゼロです。 PRNGのシードとして定数値を使用するよりもデフォルト値(シード値を指定せず)にする方がはるかに優れています。
また、暗号化された値を生成する必要がある場合は、マニュアルmt_rand()
の警告をお読みください。暗号化されたセキュリティ乱数は生成されません。