當前位置:首頁 » 編程語言 » php日誌分析

php日誌分析

發布時間: 2025-02-06 15:08:19

1. ubuntu下怎麼查看php網站的運行日誌。

PHP是不寫日誌的,你可以查看WEB伺服器的日誌,具體方法與你使用的WEB伺服器軟體有關,如果是apache,那麼在logs目錄下有error、access等文件,那就是日誌,可以查看內容。

2. php日誌類

首先,你得有一個「日誌類」,明顯PHP並沒有內置,所以你需要自己編寫這個類。


日誌模塊的大概設計思路如下:

1、你得有一個數據表,記錄所有的用戶行為。

2、你得寫一個「日誌類」,這個類至少有一個方法:向數據表寫入日誌信息


那日誌信息從哪裡來呢?

在你想記錄日誌的地方,調用日誌類的方法來觸發寫入動作。


比如(偽代碼):

if(用戶登錄成功){
$日誌類=new日誌類();
$日誌類->插入數據("登錄日誌","登錄成功","username=a;password=b","IP"...)
}

如果你想做日誌的查詢功能,顯然你要給日誌類加更多方法..

3. 怎麼讓php列印錯誤日誌

這個得需要在php.ini裡面配置開啟錯誤日誌,並且設置錯誤日誌的保存路徑。

4. PHP自帶的日誌是怎麼寫入和查看的呢

查看PHP錯誤日誌
可以在命令行裡面輸入: find . -name error.log
tailf -f error.log
寫入日誌,有固定的函數error_log($str, 3, filename)

5. thinkphp日誌記錄文件被存在了什麼地方

日誌記錄\ThinkPHP\Lib\Think\Core\Log.class.php

1、可以在config.php中進行設置,默認為關閉狀態。 'APP_DEBUG' => true

打開\ThinkPHP\Common\debug.php文件可以查看debug的默認設置如下:

return array(

'LOG_RECORD'=>true, // 進行日誌記錄

'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'), // 允許記錄的日誌級別
'DB_FIELDS_CACHE'=> false, //資料庫欄位緩存

'SHOW_RUN_TIME'=>true, // 運行時間顯示
'SHOW_ADV_TIME'=>true, // 顯示詳細的運行時間
'SHOW_DB_TIMES'=>true, // 顯示資料庫查詢和寫入次數
'SHOW_CACHE_TIMES'=>true, // 顯示緩存操作次數
'SHOW_USE_MEM'=>true, // 顯示內存開銷
'SHOW_PAGE_TRACE'=>true, // 顯示頁面Trace信息 由Trace文件定義和Action操作賦值
'APP_FILE_CASE' => true, // 是否檢查文件的大小寫 對Windows平台有效
);

注意事項:DB_FIELDS_CACHE資料庫欄位緩存默認關閉狀態,如果開啟的話,會在Runtime\Data文件夾下生成文件緩存,並且修改表之後,如新加了欄位,這個緩存無法記錄你的操作,需要我們手動刪除一次,對表的修改才會成功。

將'APP_DEBUG' => true後,訪問頁面會出現如下圖的DEBUG提示:

如果只想顯示一部分提示信息,如運行時間,內存開銷等,

可以在config.php中進行相應的設置即可,如:

//'APP_DEBUG' => true, // 調試模式開關
'SHOW_RUN_TIME' => true, //運行時間顯示
'SHOW_ADV_TIME' => true, //顯示詳細的運行時間
'SHOW_DB_TIMES' => true, //顯示資料庫的操作次數
'SHOW_CACHE_TIMES'=>true, //顯示緩存操作次數
'SHOW_USE_MEM' => true, //顯示內存開銷

提示信息如下圖:

2、頁面Trace信息的自定義:\ThinkPHP\Tpl\PageTrace.tpl.php

自定義的方法一:在config.php的同級目錄加上一個trace.php文件

<?php
return array{
'當前的server信息'=>$_SERVER['REMOTE_ADDR'],
};
?>

自定義的方法二:在Action方法中添加

$this->trace('我很醜,但是我很溫柔','514');

3、輸出調試法:

halt('aaaaaaa');//輸出aaaaaa並且中斷程序執行

4、模型調試:顯示SQL語句

$User=new Model('User');
$User->find(1);
echo $User->getLastSql();//輸出最後執行的一條SQL語句

5、日誌記錄\ThinkPHP\Lib\Think\Core\Log.class.php

config.php中設置

'LOG_RECORD'=>true,//開啟了日誌記錄
'LOG_RECORD_LEVEL'=>array('EMERG','ALERT'

熱點內容
lnmp一鍵腳本 發布:2025-07-21 22:54:37 瀏覽:215
王者舊號為什麼顯示伺服器滿 發布:2025-07-21 22:53:03 瀏覽:365
解壓長音樂 發布:2025-07-21 22:52:20 瀏覽:603
睿教育密碼多少啊 發布:2025-07-21 22:51:25 瀏覽:239
java實現鏈表反轉 發布:2025-07-21 22:38:28 瀏覽:47
汽車必須安裝哪些配置 發布:2025-07-21 22:33:11 瀏覽:594
搶小米腳本 發布:2025-07-21 22:19:48 瀏覽:429
關系型內存資料庫 發布:2025-07-21 22:14:03 瀏覽:177
phperp系統源碼 發布:2025-07-21 22:08:53 瀏覽:958
外匯掛機選擇哪個雲伺服器 發布:2025-07-21 22:08:50 瀏覽:340