如题所述
è¿ä¸ªæ¯Thinkphpçä¸ç§é误æéæºå¶ï¼ä¸åºè¯¥éèï¼å½ç¨åºåçé误çæ¶åï¼Thinkphp使ç¨äºä¸ä¸ªæ¨¡æ¿é¡µé¢æ¥ä»£æ¿äºPHPåççé误æéï¼å¦æä¸å®è¦å°è¿ä¸ªé误æ示页é¢å ³éçè¯ï¼ä¼å¯¼è´é¡µé¢æ¾ç¤ºåºåççPHPé误信æ¯ãä¸é¢ä¸¾ä¾è¯´æï¼
è¿ä¸ªç¤ºä¾ä¸»è¦æ¯æå°ä¸ä¸ªå¹¶æ²¡æ被èµå¼çaåéï¼ä¼å¯¼è´æ¥éã
PHP代ç ï¼
echo $a;
PHPåçæ¥éï¼
å¦ä¸å¾ï¼PHPåçé误ä¸ä» æ示é误å 容è¿ä¼å°é误ä½ç½®ï¼çº¢è²éèé¨åï¼ä»¥åè¡å·æå°åºæ¥ï¼ä¼æ´é²æ件å¨æå¡å¨éåæ¾çä½ç½®ã
Thinkphpä¸å ³éè°è¯æ¨¡å¼çæ åµä¸æ¥éï¼
å¨Thinkphpæ¥ç®¡äºé误æéåï¼é»è®¤æ¨¡æ¿çè¯ï¼ä» ä» åªæ¾ç¤ºäºä¸è¿°ä¸æ®µè¯ï¼ææçé误信æ¯å°è¢«éèï¼çº¿ä¸å ¬å¼é¡¹ç®ï¼åºè¯¥éç¨è¿ç§æ¹å¼ï¼ä¸æ¹é¢å¯ä»¥ä¿æ¤æå¡å¨å®å ¨ï¼å¦ä¸æ¹é¢è¿æå¾å¥½çç¨æ·ä½éªã
Thinkphpçé误æ示模æ¿æ¯å 许æ´æ¢çï¼Thinkphp3.2çæ¬å¯ä»¥ä¿®æ¹é ç½®æ件çâTMPL_EXCEPTION_FILEâåæ°ï¼å°é误æ示模æ¿æ´æ¢ææå®ç模æ¿æ件ãæ们常ç¨çæ¯å°å ¶æåä¸ä¸ª404模æ¿ã
这个示例主要是打印一个并没有被赋值的a变量,会导致报错。
PHP代码:
1
echo $a;
PHP原生报错:
如上图,PHP原生错误不仅提示错误内容还会将错误位置(红色隐藏部分)以及行号打印出来,会暴露文件在服务器里存放的位置。
Thinkphp中关闭调试模式的情况下报错:
在Thinkphp接管了错误提醒后,默认模板的话,仅仅只显示了上述一段话,所有的错误信息将被隐藏,线上公开项目,应该采用这种方式,一方面可以保护服务器安全,另一方面还有很好的用户体验。
Thinkphp的错误提示模板是允许更换的,Thinkphp3.2版本可以修改配置文件的“TMPL_EXCEPTION_FILE”参数,将错误提示模板更换成指定的模板文件。我们常用的是将其指向一个404模板。