本文目录一览:
- 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程序设计有所帮助。