php输出日志
Ⅰ 如何开启Prestashop中php错误日志
有时候在安装一些新的东西是经常出现页面空白的情况,多半是php出错了。为了让大家能够更好地调试程序,或者让别人更容易帮到你,把错误日志打出来就非常有必要。
因为大多数人使用的是虚拟主机,没有权限设置php.ini,我们只能通过修改自己的程序达到输入错误日志的目的。
将下面两行加到config/config.inc.php的@ini_set('display_errors',
'off');之前即可。
1. @ini_set('error_log',
'/home/你的用户名/wwwroot/php_error.log');
2. @ini_set('log_errors',
'On');
注意,error_log中的你的用户名是你的主机商给你的用户ID。错误日志放在哪个目录不要紧,重要的是你的ID有目录的写文件权限。
顺便提下在php.ini里的设置,如果你有权限修改的话。
1. log_errors = On2.
Ⅱ php能不能像java那样打印错误堆栈信息到错误日志
PHP 确实不会输出错误堆栈,但通过函数,还是能够获取到错误堆栈的。
function getBacktrace() {
ob_start();
debug_print_backtrace();
return ob_get_clean();
}
调用上面这个函数取得错误堆栈,再用 file_put_contents('log_path', FILE_APPEND); 写入日志文件即可。
还有一个办法:为 PHP 安装 xdebug 扩展
windows 下的安装方法 安装好后,修改 php.ini
转换一下编码试试
#从gb2312转为utf8
iconv -f GB2312 -t UTF-8 log.txt
> new_log.txt
或者
#从gb2312转为utf8
iconv -f UTF8 -t GB2312 log.txt
> new_log.txt
Ⅳ 如何开启PHP日志功能
开启步骤如下:
1. 打开php.ini文件。
以ubuntu为例,这个文件在: /etc/php5/apache2 目录下为例。
2. 搜索并修改下行,把Off值改成On
display_errors = Off
3. 搜索下行
error_reporting = E_ALL & ~E_NOTICE
或者搜索:
error_reporting = E_ALL & ~E_DEPRECATED
修改为
error_reporting = E_ALL | E_STRICT
4. 修改Apache的 httpd.conf,
以Ubuntu 为例, 这个文件在:/etc/apache2/ 目录下,这是一个空白文件。
添加以下两行:
php_flag display_errors on
php_value error_reporting 2039
5. 重启Apache,就OK了。
重启命令: :sudo /etc/init.d/apache2 restart.
Ⅳ 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自带的日志是怎么写入和查看的呢
查看PHP错误日志
可以在命令行里面输入: find . -name error.log
tailf -f error.log
写入日志,有固定的函数error_log($str, 3, filename)
Ⅶ php 数据库操作日志记录
//先创建一个log表,有id, action, username, query, time 等字段,如果需要记录更多,可添加
$query_string = $_SERVER['QUERY_STRING'];//查询(query)的字符串,这个最好处理一下
$action = $_REQUEST['action'];//操作类型,可以自己定义。比如?action=add&id=xx
//$username就是当前操作人的名字了,登录后都有的吧
if(in_array($action, array('add', 'edit','delete','update')))
{
addlog($action,$username,$query_string);
}
function addlog($action,$username,$query_string)
{
//这里可以把时间和$query_string处理一下,插入数据库
$db->query($sql);
}
大致思路就是这样的了,细节还需你自己完善