时间模块和异常处理模块
时间模块和异常处理模块
时间模块:
表示时间的方式:
2014.05.27 08:43:00
2014-05-27
05-27-2014
2014/05/27
子丑寅卯...
表示时间的方式多种多样....
统一的时间格式:纯数字来表示时间.
时间戳: 使用从1970年1月1日0时0分0秒开始计算到指定时间的秒数.这种表示时间的方式就是时间戳! unix时间戳。
php中的时间戳有效时间截止为2038年的某一天.
如何修改时区设置!
1.在当前时间上加上对应时区的差值,例如中国 time()+3600*8(如果页面使用时间很多,不现实)
2.修改配置文件中的php.ini文件中的 date.timezone的值
洲/城市 Asia/Harbin
直接使用时区值 Etc/GMT-8
使用国家名称或者简称 PRC
3.使用函数date_default_timezone_set()来设置脚本(页面)的时区
设置的值和配置文件的date.timezone设置的值一致
注意: 该设置方式仅对当前脚本有效!
异常处理模块:
为什么要学习异常处理?解决站点或者服务器出现的各种错误!
懂程序的人->玩网站的漏洞->破解服务器的信息->登陆你的服务器->添加木马或者病毒->用户信息泄露(中病毒)->不靠谱的网站->在也不来了->网站没人气->流量下降->没钱赚->关闭网站->失业->没钱->没媳妇->没孩子->没人养老->孤独终老!
不懂程序的人->破网站,还报错->在也不来了->没人气->没流量->没钱赚->失业->没钱->没媳妇->没孩子->没人养老->孤独终老!
如何防止孤独终老!(恰当的处理错误)
错误的分类:
; E_ALL - 所有的错误和警告(不包括 E_STRICT)
; E_ERROR - 致命性的运行时错误
; E_WARNING - 运行时警告(非致命性错误)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
; E_STRICT - 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
; E_CORE_ERROR - PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户自定义的错误消息
; E_USER_WARNING - 用户自定义的警告消息
; E_USER_NOTICE - 用户自定义的提醒消息
错误的常见级别:
; E_ERROR - 致命性的运行时错误
; E_WARNING - 运行时警告(非致命性错误)
; E_NOTICE - 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
用户常见的错误:
1.语法错误 少分号/括号.....找不到函数
2.逻辑错误 死循环/真假区间写反了..
3.运行时错误 数据库信息填写不正确,包含的文件不存在
解决错误的问题:
让不该看到的人看不到页面的错误
1.使用错误抑制符号,屏蔽单行错误。效率低而且只能针对一行
2.修改配置文件中的display_errors选项,设置值为Off 即可关闭页面错误显示~!
3.修改error_reporting选项 设置对应的值可以设置输出错误或者不输出错误或者输出指定类型的错误,设置为0表示不输出任何错误
4.在页面中使用error_reporting函数 设置当前脚本的错误输出方式,其设置的值和配置文件的error_reporting选项一致
5.也可以使用ini_set函数 对配置文件的error_reporting选项进行设定,效果和使用error_reporting函数基本一致
让该看到的人看的到错误内容
1.关闭错误输出
a) 设置display_error选项的值为off
2.设置需要记录的错误种类
a) 设置error_reporting的输出的错误类型
3.开启PHP错误日志记录
a) 设置配置文件的log_errors 设置为On 开启错误记录
4.设置错误记录的位置
a) 设置配置文件的error_log 的值
syslog 系统日志 将PHP错误记录到系统日志中
自定义路径 将PHP的错误记录到指定的文件中