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

熱點內容
原神遊戲伺服器ip 發布:2025-02-06 17:54:23 瀏覽:810
如何查筆記本電腦的真正配置 發布:2025-02-06 17:48:07 瀏覽:79
存儲器存在地址 發布:2025-02-06 17:47:28 瀏覽:537
phpsocket教程 發布:2025-02-06 17:42:13 瀏覽:423
mysql解壓縮版安裝 發布:2025-02-06 17:26:33 瀏覽:179
phpgd圖片 發布:2025-02-06 17:24:34 瀏覽:206
php代碼整理 發布:2025-02-06 17:24:31 瀏覽:477
java可執行文件 發布:2025-02-06 17:18:59 瀏覽:249
衛士相當於現在什麼配置 發布:2025-02-06 17:05:04 瀏覽:409
項目編譯慢 發布:2025-02-06 16:53:48 瀏覽:382