本文目錄一覽:
- 1、PHP自帶的日誌是怎麼寫入和查看的呢
- 2、php該在哪裡寫日誌?怎麼寫日誌?日誌是做什麼用的?
- 3、怎樣用php編寫一個寫日記功能的系統
- 4、寫幾個簡單php函數
- 5、php怎麼增加log日誌來
- 6、PHP中error_log()函數的使用方法
PHP自帶的日誌是怎麼寫入和查看的呢
查看PHP錯誤日誌
可以在命令行裡面輸入: find . -name error.log
tailf -f error.log
寫入日誌,有固定的函數error_log($str, 3, filename)
php該在哪裡寫日誌?怎麼寫日誌?日誌是做什麼用的?
所謂的日誌就是記錄系統運行狀態的數據。
一般是將信息記錄到文本文件或資料庫中。
比如:
?php
function writeLog($msg){
$logFile = date(‘Y-m-d’).’.txt’;
$msg = date(‘Y-m-d H:i:s’).’ ‘.$msg.”\r\n”;
file_put_contents($logFile,$msg,FILE_APPEND );
}
//調用上面的函數,寫一條信息進日誌文件
writeLog(‘這是測試日誌信息’);
?
怎樣用php編寫一個寫日記功能的系統
我們要寫一個寫日誌的函數,首先需要了解需求,我們一般怎麼用日誌函數呢?例如,程序執行到某一步,我希望把這個變數(地址)$user_address的值列印到日誌,我們希望日誌里是這麼寫的:
`xx-xx-xx xx:xx $user_address : 上海市楊浦區xxxxx
然後每一條日誌都要換行,都有日期時間,
假設 函數名稱是log();
我們希望這麼調用他 log(『useraddress:user_address);
那如果$user_address 是一個數組,我想把一個數組的全都都輸出到日誌中,該怎麼辦呢?
有一個函數是print_r($arg,true),第二個參數表示不直接輸出,而是輸出的結果作為返回值.我們知道他的輸出結果為一段字元串.
log函數可以這麼寫
log(){
$args = func_get_args();//獲得傳入的所有參數的數組
$numargs = func_num_args(); //參數的個數
if ($numargs == 0) {
$log = “”;
} elseif ($numargs == 1) {
$log = $args[0];
} else {
$format = array_shift($args); //分割掉函數第一個元素,並且做返回值返回,’$user_address:%s’
$log = vsprintf($format, $args); //把參數代入$format中,
}
$log = date(“[Y/m/d H:i:s] “) . $log . PHP_EOL;//加上時間
$file = ‘/usr/share/nginx/html/log.log’;
$fp = fopen($file, ‘a’);
fwrite($fp, $log);
fclose($fp);
return true;
}
用法:
1.列印一般變數$a,
log(‘得到了$a的值:%s’,$a );
2 . 列印一個數組$arr
log(‘%s’,print_r($arr,true));
可以對上面的函數進行改進下
function log2($arg)
{
$log = vsprintf(‘%s’, print_r($arg, true));
$log = date(‘[Y/m/d H:i:s]’) .’—‘. $log . PHP_EOL;
$path = dirname(__FILE__) . ‘/log.log’;
$fp = file_put_contents( $path,$log, FILE_APPEND);
return true;
}
$a=[1,23,45,45];
log2($a);
寫幾個簡單php函數
?php
function pai( $NumStr ) {
$Arr = preg_split(‘/[\,,]+/is’, $NumStr);
$Ou = $Ji = array();
foreach( $Arr as $val ) {
$val % 2 == 0 ? $Ou[] = $val : $Ji[] = $val;
}
arsort($Ji);
asort($Ou);
//print_r( $Ji );
echo join(‘,’, $Ji ), ‘,’, join(‘,’, $Ou );
}
function ca( $NumStr ) {
$Arr = preg_split(‘/[\,,]+/is’, $NumStr);
echo max( $Arr ) – min( $Arr );
}
function length( $Num ) {
echo strlen( $Num );
}
pai(‘3,6,5,71,75,34,45,23,16’);
echo ‘br/’;
ca(‘15,78,65,10,30’);
echo ‘br/’;
length(4578445);
php怎麼增加log日誌來
1、使用指定的文件記錄錯誤報告日誌
使 用指定的文件記錄錯誤報告日誌使用指定的文件記錄錯誤報告日誌使用指定的文件記錄錯誤報告日誌 如果使用自己指定的文件記錄錯誤日誌,一定要確保將這個文 件存放在文檔根目錄之外,以減少遭到攻擊的可能。並且該文件一定要讓PHP腳本的執行用戶(Web伺服器進程所有者)具有寫許可權。假設在Linux操作系 統中,將/usr/local/目錄下的error.log文件作為錯誤日誌文件,並設置Web伺服器進程用戶具有寫的許可權。然後在PHP的配置文件中, 將error_log指令的值設置為這個錯誤日誌文件的絕對路徑。
需要將php.ini中的配置指令做如下修改:
1. error_reporting = E_ALL ;將會向PHP報告發生的每個錯誤
2. display_errors = Off ;不顯示滿足上條 指令所定義規則的所有錯誤報告
3. log_errors = On ;決定日誌語句記錄的位置
4. log_errors_max_len = 1024 ;設置每個日誌項的最大長度
5. error_log = E:/php_log/php_error.log ;指定產生的 錯誤報告寫入的日誌文件位置
PHP 的配置文件按上面的方式設置完成以後,並重新啟動Web伺服器。這樣,在執行PHP的任何腳本文件時,所產生的所有錯誤報告都不會在瀏覽器中顯示,而會記 錄在自己指定的錯誤日誌/usr/local/error.log中。此外,不僅可以記錄滿足error_reporting所定義規則的所有錯誤,而且 還可以使用PHP中的error_log()函數,送出一個用戶自定義的錯誤信息。
PHP中error_log()函數的使用方法
本文實例講述了PHP中error_log()函數的使用方法。分享給大家供大家參考。具體分析如下:
今天遇到一個問題需要調試,但是只能通過日誌列印調試,就用到了error_log這個函數
需要列印的是一台伺服器發送到我們伺服器的post數據
代碼如下:(key和value都列印了)
複製代碼
代碼如下:if(!empty($_POST)
){
while
(list($key,
$val)
=
each($_POST))
{
@error_log(“$key
=
$val”,
3,’/tmp/test_post_allstarpay.log’
);
}
}
error_log有四個參數
,主要是前3個,第一個是log日誌寫入內容,第二個是日誌存入方式3表示存入指定位置,第三個是存入位置
伺服器用的是centos
,tmp有讀寫許可權
所以就寫入tmp內了
error_log會自動生成相應的log文件,不需要手動創建!
希望本文所述對大家的php程序設計有所幫助。
原創文章,作者:TEOD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/142777.html