扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
诸如下面这些错误的提示:Warning: file_get_contents(/usr/local/tads/htdocs/XXXXXX/src/cache/countLoginnum.txt) [function.file-get-contents]: failed to open stream: No such file or directory in/usr/local/tads/htdocs/XXXXXXX/src/controllers/defaultController.php on line 43Warning: Cannot modify header information - headers already sent by (output started at /usr/local/tads/htdocs/XXXXXX/src/config/env.php:5) in/usr/local/taesdk/1.0/phplib3/src/base/core/TMWebResponse.class.php on line 332有的时候代码的警告会导致整个项目无法运行,比如某个变量无对象的情况,若无影响,这时如果屏蔽警告,就可以使整个项目恢复正常运行。当然它的作用不在于这,而是在成品网站或做服务器时,不输出错误信息可以减少被黑客攻击的风险(对于一些容易出错并且容易暴漏敏感数据的代码,一般多在数据库这块吧),也能在出错的情况下仍保持网站的美观。至于在调试下,那这个错误提示信息还是比较有用的,可以在PHP页面最前边加上一句: error_reporting(E_ALL ~E_NOTICE);让出错时显示错误信息。屏蔽的方法:
成都创新互联公司是一家专注于成都做网站、网站建设与策划设计,沙湾网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:沙湾等地区。沙湾做网站价格咨询:13518219792
屏蔽PHP错误提示方法一、在有可能出错的函数前加@,然后or die("") 如: @mysql_connect(...) or die("Database Connect Error")
屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。
屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。
例:
@$a = $b['a']; //忽略@后面语句的错误
$a = @$b['a']; //忽略@后面语句的错误,推荐使用这句。因为错误是在$b这个数组中发生的,所以@符号在$b前就可以了,这是错误真正发生的地方。
请根据自己操作了些什么?以及错误提示进行解决。这样可以缩小出错范围,提高查错速度。
比如说你进行连接操作,然后系统提示错误,那么通常你就要从连接方式上进行查错,如密码错误、连接参数不对等。如果系统提示语法错误,那通常你要看一看你的sql语句编写是否正确、函数的用法对不对等等。如果是系统方面的错误提示,你就要检查一下你的MySQL系统安装以及系统设置方面的问题。
由于MySQL都是以英文显示错误提示的,解决报错问题除了需要具备一定程度的数据库方面知识外,还要略懂英文,否则无从下手。
数据库的种种知识非常丰富繁杂,没人能全部记下来,下载一个MySQL用户手册,出错时翻查一下,对解决问题很有帮助的。但是我个人感觉MySQL的用户手册编写的实在不怎样,主要是手册的内容定位方面编排的不好,不太容易让人迅速找到需要的内容,此为题外话。
?php
$host="localhost";
$db_user="root";
$db_pass="root";
$db_name="lianxi";
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
?
去掉@
1 想从代码层修改的话:可以让最后这个函数的输出内容为空(这也是最简单,粗暴的方式),或者在前面修改,不去调用这个函数。
2 使用.mylogin.cnf
[root@10-19-155-238 ~]# mysql_config_editor set --user=song --host=127.0.0.1 --port=3306 --password
Enter password:
[root@10-19-155-238 ~]# ls -al
总用量 60100
dr-xr-x---. 3 root root 4096 12月 25 16:49 .
dr-xr-xr-x. 18 root root 4096 12月 25 12:14 ..
-rw-r--r-- 1 root root 61480982 12月 25 16:05 bak_mysql-boost-5.7.17.tar.gz
-rw-------. 1 root root 42 12月 25 15:19 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r-- 1 root root 204 12月 25 14:52 .bash_profile
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流