标签:
一、PHP自带的调试功能
(1)开发环境
需要打开报错输出显示,方便开发者调试。
(2)生产环境
不能直接将错误输出,而是记入日志,以免透露路径、数据库连接、数据表等信息遭到黑客攻击。
注:
方式 |
路径 |
是否append |
如果目录指向的文件不存在 |
error_log = php_errors.log |
相对路径 |
√ |
自动创建 |
error_log = E:/phpStudy/php53n/php_errors.log |
绝对路径 |
√ |
自动创建 |
注1:如果目录指向的文件不存在怎么办?
会自动创建。
---------------------------------------------
注2:PHP_EOL是什么?
换行符。
unix系列用 \n
windows系列用 \r\n
mac用 \r
PHP中可以用PHP_EOL来替代,以提高代码的源代码级可移植性。
---------------------------------------------
注3:Linux下可能有读写权限,建议先放开权限。
chmod 777 文件名
chmod -R 777 文件夹 (递归该文件夹下所有文件)
---------------------------------------------
(1)少用错误控制运算符"@"
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
如果一个缺陷发生在这个表达式中,从PHP的输出中看不到任何错误,这增加了调试的难度。所以能不用则不用。
注: @ 运算符只对表达式有效。对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符。
例:
(2)有些函数自带有debug功能
例:
一般这样的函数(主要是网络通信类的),会自己提供调试参数:$errno和$errstr。
你可以加一句:
就能看到连接失败的原因了。
这些函数有:fsockopen,pfsockopen,stream_socket_server,stream_socket_client 等。
还有些函数是调试一个功能用的,比如:mysql_errno,socket_last_error,socket_strerror 等。
二、引进调试工具
如:Xdebug
标签:
原文地址:http://www.cnblogs.com/xjnotxj/p/5452485.html