我需要从一些php本机函数中捕获一些警告,然后处理它们.
特别:
array dns_get_record ( string $hostname [, int $type= DNS_ANY [, array &$authns [, array &$addtl ]]] )
Run Code Online (Sandbox Code Playgroud)
当DNS查询失败时,它会发出警告.
try/ catch不起作用,因为警告不是例外.
我现在有2个选择:
set_error_handler 看起来有点矫枉过正,因为我必须使用它来过滤页面中的每个警告(这是真的吗?);
调整错误报告/显示,以便这些警告不会回显到屏幕,然后检查返回值; 如果是false,则没有找到主机名的记录.
这里的最佳做法是什么?
当从我的页面上的表单到我的服务器的POST数据时,我收到一个新的php警告.警告如下:
PHP警告:未知:输入变量超过1000.要在php.ini中增加限制更改max_input_vars.在第0行的Unknown中,引用者:https://mywebsite.com/index.php
问题是我的表单没有近1000个输入变量,所以我很困惑为什么会出现这个变量.作为旁注,我直到最近才遇到这个问题,我怀疑当我运行yum update更改/安装了导致此问题的内容时.任何建议或答案都表示赞赏.
编辑1:所以我做var_dump($_REQUEST)了〜1000个单字符串.数组中的前几个项目应该是它们应该是什么,但是我不需要提交的一些东西被分解为单个字符串.欢迎思考.
array(1001) {
["action"]=> string(10) "step1_show"
["submit"]=> string(6) "Step 1"
[0]=> string(1) "a"
[1]=> string(1) "c"
[2]=> string(1) "t"
[3]=> string(1) "i"
[4]=> string(1) "o"
[5]=> string(1) "n"
[6]=> string(1) "="
[7]=> string(1) "l"
[8]=> string(1) "o"
[9]=> string(1) "g"
[10]=> string(1) "o"
[11]=> string(1) "u"
[12]=> string(1) "t"
[13]=> string(1) "&"
[14]=> string(1) "p"
[15]=> string(1) "r"
[16]=> string(1) "o"
[17]=> string(1) "p"
[18]=> string(1) "e"
[19]=> string(1) …Run Code Online (Sandbox Code Playgroud)