㈠ 怎么让php打印错误日志
(1)使用echo ,简单输出
(2)使用print_r(),可以有规则的打印复杂结构
(3)var_mp递归输出某种结构体
(4)print(),简单打印
可以将你要输出的错误内容放到上述语句或函数内进行打印输出;也可以写入某个文件,作为你的Log日志:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等这类文件函数
以上是我自己工作中总结的PHP调试方法,挺好用的。
㈡ php 打印当前执行到的行数--为方便调试
echo '__LINE__';魔术变量之__LINE__记录了当前执行的代码所在行的行号。
PHP有不少能够用来直接调试的函数,查看变量、对象、数组、Everything……
下面是魔术变量
__LINE__ 文件中的当前行号。
__FILE__ 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 总是包含一个绝对路径(如果是符号连接,则是解析后的绝对路径),而在此之前的版本有时会包含一个相对路径。
__DIR__ 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
__METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__NAMESPACE__ 当前命名空间的名称(大小写敏感)。这个常量是在编译时定义的(PHP 5.3.0 新增)
㈢ thinkphp3.2 调试模式开启呢,怎么打印不出sql语句,var_mp($this->sql())一直是null
用$this->getLastSql()来获取
㈣ 有哪些 PHP 调试技巧
1、最简单经典的var_mp()或者echo +exit()
2、配置error_log,能够解决很多疑难杂症
3、debug方式是:xdebug
4、firebug + firephp或者chrome + chromephp
㈤ 用xampp调试php时 php和html文件各自放在哪怎么调试
你可以使用print_r()或者var_mp()把你的请求数据($_POST或者$_GET)打印出来(如果不知道函数怎么用的话就自己网络了)。
调试步骤:
1.
首先检查下你的环境是否工作正常,可以建立几个简单的页面试试;
2.
打印数据(可以在文件的开头打印),看看请求是不是有进来;
3.
如果请求都没有进来,说明你提交数据的表单没正确;
4.
如果请求的数据有进来,说明你的代码有问题。
自己仔细检查下吧。
㈥ PHP调试中有哪些输出方法
PHP开发中,经常会查看变量的值,因此经常会将变量的值输出到页面以便于查看。
常用的输出方式有:echo、print、print_r、var_mp、var_exprot等;echo和print常用来输出字符串;
查看数组常用print_r、var_mp、var_exprot;
若使用echo和print输出数组时则,结果只能显示"Array",不会显示数组的结构。
一下举一例说明几种用法
配合print "<pre"和print "</pre",以数组$a为例说明各种输出的区别。
$a = array ('a' = 'apple', 'b' = 'banana', 'c' = array ('x', 'y', 'z'));
print_r($a);输出结果:Array ( [a] = apple [b] = banana [c] = Array ( [0] = x [1] = y [2] = z ) )
print "<pre"; print_r($a); print "</pre";输出结果:Array([a] = apple
[b] = banana
[c] = Array([0] = x[1] = y[2] = z))var_mp($a);输出结果:array(3) { ["a"]= string(5) "apple" ["b"]= string(6) "banana" ["c"]= array(3) { [0]= string(1) "x" [1]= string(1) "y" [2]= string(1) "z" } }
print "<pre"; var_mp($a); print "</pre";输出结果:array(3) {["a"]=string(5) "apple"["b"]=string(6) "banana"["c"]=array(3) {[0]=string(1) "x"[1]=string(1) "y"[2]=string(1) "z"}}var_export($a);输出结果:array ( 'a' = 'apple', 'b' = 'banana', 'c' = array ( 0 = 'x', 1 = 'y', 2 = 'z', ), )
print "<pre"; var_export($a); print "</pre";输出结果:array ('a' = 'apple',
'b' = 'banana',
'c' =array (0 = 'x',
1 = 'y',
2 = 'z',),)调试的时候可以根据不同的需要选用不同的输出方式。
㈦ 新手,php用什么工具来调试代码错误
你好,一般使用框架时,出现问题,会在页面里自动显示的,当然框架可能需要配置成 开发 模式, 然后再配合例如var_mp 这样的打印函数进行调试。如果是操作数据库,就使用框架自带的 最后执行的sql语句进行检测比如,CI的$this->db->last_query(); 或者 Thinkphp3.2的$Model->getLastSql();
㈧ ecshop修改了一个list_goods.php后,怎么打印数组,查看调试,具体一些
以下代码可以帮助你调试程序:
echo "<pre>";
print_r($test);
echo "<pre>";
$test就是你要打印的数组,然后找display对应的模板,页面头部就可以看到你数组的数据。
希望能帮助到你..
㈨ php 代码如何调试
开启Apache服务器以及MY_SQL数据库。
在PHP集成环境的安装目录“www”文件夹中创建我们需要用到的php文件,1.php.
用Notepad++打开1.php文件,然后输入PHP的语言格式:
<?php ?>
输入标准的输出语言:
<?php
echo "Hello world !" //输出Hello world 语言。 echo 是打印的意思
?>
在网页上输入localhost:8080/1.php可以调试我们自己写的php代码
PHP的简单运算,用$来定义应用数据,输出也是一样。
<?php
$sum=1;
$total=1.22;
$sum=$total+$sum;
echo $sum ?>
㈩ 怎么优雅的输出PHP调试信息
利用浏览器调试模式的Console
1,先定义一个php函数:
functionconsole($log='')
{
switch(empty($log)){
caseFalse:
$out=json_encode($log);
$GLOBALS['console'].='console.log('.$out.');';
break;
default:
echo'<scripttype="text/javascript">'.$GLOBALS['console'].'</script>';
}
}
2,在需要调试的地方直接调用它,递交的参数可以是字符串,也可以是数组。
3,在适当的位置调用无参数的console,用来输出调试信息,比如各类php框架入口文件的最底部
4,打开浏览器(比如chrome),载入页面后进入调试模式(比如按F12键),点击Console,你会发现所有数据都在这里等着你查阅。
5,其他用途
优秀的PHP开源框架ThinkPHP提供了输出运行状态的功能,你可以通过运行状态来了解某个页面在后台处理了多长时间。但是,很多人都注意到了,它是不准确的。
下面我们试着用刚刚加进来的自定义函数console在浏览器中输出真正的运行时间。
所有工作都在入口文件中完成:
在所有代码的最开头,定义变量$s=microtime(true);
在console();的上面再增加console('exetime:'.round(microtime(true)-$s,4));