0
我試圖找到客戶端關閉瀏覽器連接(499 HTTP狀態)的時間。我可以看到那些在Nginx的訪問日誌,但我不知道如何訪問從PHP。如何將nginx HTTP狀態碼(在訪問日誌中)傳遞給php。
我試圖找到客戶端關閉瀏覽器連接(499 HTTP狀態)的時間。我可以看到那些在Nginx的訪問日誌,但我不知道如何訪問從PHP。如何將nginx HTTP狀態碼(在訪問日誌中)傳遞給php。
您必須使用PHP腳本解析您的nginx訪問日誌文件,並使用cron運行它或像守護程序一樣運行。
這裏的例子:
<?php
$handle = fopen("/path/to/your/access.log", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if(strstr($line, 'HTTP/1.1" 499')){
echo $line;
}
}
fclose($handle);
} else {
// error opening the file.
}
?>
確保當前腳本能夠讀取訪問日誌文件的權限。
您應該使用(優選)搜索引擎+ cron作業(用於索引),該作業從日誌中索引數據,例如:ElasticSearch。這個https://github.com/elastic/elasticsearch-php –
有一個php庫,但是當你的php代碼正在被處理時,連接沒有關閉。只有當它發送的響應被髮送到客戶端時,連接纔會被關閉,在生成之前如何訪問它? – Satys