當前位置:首頁 » 編程語言 » 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'

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:165
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:734
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:397
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:540
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:628
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365