bash执行mysql的warning怎么屏蔽

bash执行mysql的warning怎么屏蔽,第1张

诸如下面这些错误的提示: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)让出错时显示错误信息。屏蔽的方法:

屏蔽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前就可以了,这是错误真正发生的地方。

你可以通过下述方式启动服务器来调整该值如果遇到下述错误,表示mysqld已收到来来自主机“host_name”的很多连接请求,但该主机却在中途中断。由于出现很多连接错误,主机'host_name'被屏蔽。可使用'mysqladmin flush-hosts'解除屏蔽。允许的中断连接请求的数目由max_connect_errors系统变量的值决定。当超出max_connect_errors规定的连接请求时,mysqld将认为某处出错(例如,某人正试图插入),并屏蔽主机的进一步连接请求,直至执行了mysqladmin flush-hosts命令,或发出了FLUSH HOSTS语句为止。在默认情况下,mysqld会在10次连接错误后屏蔽主机。你可以通过下述方式启动服务器来调整该值:shell>mysqld_safe --max_connect_errors=10000 &如果在给定主机上遇到该错误,首先应核实该主机的TCP/IP连接是否正确。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8485452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存