是否有可能知道Apache服務器加載PHP頁面所用的時間? Apache服務器中是否有任何在Apache服務器上運行的頁面生成日誌文件?在Apache服務器上加載php頁面的時間
1
A
回答
9
我打算假設你想知道PHP生成頁面需要多長時間。
腳本啓動時,由於5.1,還有在$_SERVER
一個條目就可以使用,稱爲REQUEST_TIME
。它包含請求開始的時間。在腳本結束時,你可以像這樣計算的話:
$time_taken = time() - $_SERVER['REQUEST_TIME'];
顯然,這不是很準確,因此新REQUEST_TIME_FLOAT
是PHP 5.4介紹:
$time_taken = microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'];
對於< 5.4你可以使用這個片段在腳本的開始向後兼容性:
if (!isset($_SERVER['REQUEST_TIME_FLOAT'])) {
$_SERVER['REQUEST_TIME_FLOAT'] = microtime(true);
}
更新
爲了讓Apache爲您做到這一點,您可以添加%T
和/或%D
日誌格式選項,例如,
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" **%T/%D**" combined
的%T
選項讓您登錄的秒數採取和%D
記錄微秒(因爲Apache 2)。
1
你可以在你的代碼的起始打印當前時間戳,然後在最後打印出來,並從起始時間減去結束時間看到的總時間通過數據加載和運行
1
您可以使用這個創建日誌文件的自己:
在頭文件的頂部:
$process_start = date('H:i:s');
在頁腳文件
$process_end = date('H:i:s');
echo "<br/> process_start {$process_start}<br/> process_end {$process_end}"
不是最好的方式,但可以工作
+2
這將工作,但它只是準確的第二。如果在記錄持續時間時需要小時,我會擔心。 ;-) – Alastair
2
你可以嘗試在那裏你可以記錄所採取的(%d)在幾微秒的時間您的訪問日誌的Apache日誌格式。
http://httpd.apache.org/docs/current/mod/mod_log_config.html#formats
我從來沒有嘗試過,但..
相關問題
- 1. asp.net頁面在服務器上需要很長的加載時間
- 2. 每XX小時在服務器上自動加載Wordpress頁面
- 3. 如何在頁面加載時花費系統時間和服務器時間
- 4. PHP到Python服務器頁面,退出,停止頁面加載
- 5. 處理特定的.htm頁面爲Apache服務器上的.php
- 6. 如何在頁面加載事件服務器上獲取客戶機時間
- 7. Apache服務器上的Php Codeigniter - 內部頁面不起作用
- 8. 在Django上的頁面加載之間運行服務器上的子進程
- 9. 優化php的加載時間頁面
- 10. Apache PHP下載頁面加載文件
- 11. PHP頁面創建負載過重,服務器過載頁面?
- 12. Rails服務器未加載頁面
- 13. 如何從服務器加載頁面
- 14. 在webview上加載html頁面而不使用web服務器
- 15. 如果在服務器上修改了重新加載頁面
- 16. 頁面正在等待服務器時加載CSS和JS
- 17. 在Apache服務器上執行PHP
- 18. Apache將php頁面加載爲文本
- 19. 如何減少我的頁面上的CURLOPT php加載時間?
- 20. HTML頁面和PHP服務器頁面
- 21. 當服務器端的現金頁面加載部分頁面
- 22. jQuery/PHP的:刷新頁面根據服務器時間
- 23. 當用戶在PHP中加載頁面時,如何驗證服務器到我的服務器?
- 24. 在加載網頁時加載Web服務器上的代碼的位置?
- 25. 防止UpdatePanel加載服務器上的整個頁面
- 26. MySQL查詢減緩外部服務器上的頁面加載
- 27. 從ASP.NET服務器上的頁面加載執行JavaScript
- 28. Apache內部服務器錯誤頁面
- 29. 頁面加載時的JSF 2.0調用服務器端方法
- 30. 使用pdf.js時只從服務器加載需要的頁面
我會建議使用microtime中(); ..因爲你知道y .. – Dinesh
沒有在這種情況下,我必須使用微型時間在用戶創建的每個php頁面。我想知道我可以檢查從任何日誌文件的Apache? –