>> |
外しているかもしれませんが・・・
名前: takaq
[2021/07/25,21:06:25] No.738
Lavieさん、訪問と投稿ありがとうございます。 とてもうれしく思います。 質問の件ですが、Windows Server からかなり遠ざかってしまっているので、実環境が無く的確な回答でないことご容赦ください。 外しているかもしれませんが、以下記載いたします。
・まずは、コマンドプロンプトで「net statistics server」または「net statistics workstation」を実行します。 そして、"統計情報の開始日時"が正しい時間表示されているかを確認します。 この値が不正ですと稼働時間はとれません。 ・"統計情報の開始日時"が正しい時間表示である場合、今度は稼動時間を表示する PHPスクリプトで値が取得できているかを確認します。
$winstats = shell_exec("net statistics server"); の次あたりに echo $winstats; としてスクリプト実行してみます。
前記が希望どおり取得できている時は、取得値から稼働時間を各変数に入れ表示内容を生成する部分の値を echo でスクリプト実行し確認します。
例えば preg_match("(\d{4}/\d{1,2}/\d{1,2}\s+\d{1,2}\:\d{2})", $winstats, $matches); の後ろあたりに echo $matches;
if (days > 0) { uptimeString += days; uptimeString += ((days == 1) ? " 日" : " 日"); } if (hours > 0) { uptimeString += ((days > 0) ? ", " : "") + hours; uptimeString += ((hours == 1) ? " 時間" : " 時間"); } if (mins > 0) { uptimeString += ((days > 0 || hours > 0) ? ", " : "") + mins; uptimeString += ((mins == 1) ? " 分" : " 分"); } if (secs > 0) { uptimeString += ((days > 0 || hours > 0 || mins > 0) ? ", " : "") + secs; uptimeString += ((secs == 1) ? " 秒" : " 秒"); } の後ろあたりに echo $uptimeString;
等々一つずつ見ていきます。
こんな感じで修正箇所を自身で見つけていくしかないと思います。
|