首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >致命错误: Uncaught : filter_var():参数#3 ($options)必须是数组类型

致命错误: Uncaught : filter_var():参数#3 ($options)必须是数组类型
EN

Stack Overflow用户
提问于 2021-01-09 06:12:11
回答 1查看 7K关注 0票数 3

前一个问题:get_magic_quotes_gpc() returns undefined in my code

那么..。

我解决了以下问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fatal error: Cannot declare class CI_Log, because the name is already in use in D:\xampp\htdocs\system\libraries\Log.php on line 27 (line 27) class CI_Log {

以这种方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
* Error Logging Interface
*
* We use this as a simple mechanism to access the logging
* class and send messages to be logged.
*
* @access   public
* @return   void
*/
if ( ! function_exists('log_message'))
{
    function log_message($level = 'error', $message, $php_error = FALSE)
    {
        static $_log;

        if (config_item('log_threshold') == 1)
        {
            return;
        }

        $_log =& load_class('Log');
        $_log->write_log($level, $message, $php_error);
    }
}

我改变了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"if (config_item ('log_threshold') == 0)"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"if (config_item ('log_threshold') == 1)"

Common.php文件中

在……里面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\xampp\htdocs\system\core\Common.php

但现在出现了新的错误..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fatal error: Uncaught TypeError: filter_var(): Argument #3 ($options) must be of type array|int, string given in
D:\xampp\htdocs\system\core\Input.php:391
Stack trace:
_______________________________________________________________________________
#0 D:\xampp\htdocs\system\core\Input.php(391): filter_var('127.0.0.1', 275, '')

        // First check if filter_var is available
        if (is_callable('filter_var'))
        {
            switch ($which) {
                case 'ipv4':
                    $flag = FILTER_FLAG_IPV4;
                    break;
                case 'ipv6':
                    $flag = FILTER_FLAG_IPV6;
                    break;
                default:
                    $flag = '';
                    break;
            }

            return (bool) filter_var($ip, FILTER_VALIDATE_IP, $flag);
        }
_______________________________________________________________________________
#1 D:\xampp\htdocs\system\core\Input.php(354): CI_Input->valid_ip('127.0.0.1') 
if ( ! $this->valid_ip($this->ip_address))
_______________________________________________________________________________
#2 D:\xampp\htdocs\application\models\cms_model.php(32): CI_Input->ip_address()
        if(!$this->input->is_ajax_request() && !isset($_GET['is_json_ajax']))
        {
            $this->db->query("INSERT INTO visitor_log(`date`, `ip`) VALUES(?, ?)", array(date("Y-m-d"), $this->input->ip_address()));
        } 
_______________________________________________________________________________
#3 D:\xampp\htdocs\application\models\cms_model.php(24): Cms_model->logVisit()
        $this->logVisit();
_______________________________________________________________________________
#4 D:\xampp\htdocs\system\core\Loader.php(303): Cms_model->__construct()
            $CI->$name = new $model();
_______________________________________________________________________________
#5 D:\xampp\htdocs\application\third_party\MX\Loader.php(192): CI_Loader->model('Cms_model', 'cms_model', false)
            /* check application & packages */
            parent::model($model, $object_name, $connect);
_______________________________________________________________________________
#6 D:\xampp\htdocs\application\libraries\realms.php(42): MX_Loader->model('cms_model')
        // Get the realms
        $this->CI->load->model('cms_model');
_______________________________________________________________________________
#7 D:\xampp\htdocs\system\core\Loader.php(1099): Realms->__construct()
        {
            $CI->$classvar = new $name;
        }
_______________________________________________________________________________
#8 D:\xampp\htdocs\system\core\Loader.php(975): CI_Loader->_ci_init_class('realms', '', NULL, NULL)
                return $this->_ci_init_class($class, '', $params, $object_name);
_______________________________________________________________________________
#9 D:\xampp\htdocs\application\third_party\MX\Loader.php(155): CI_Loader->_ci_load_class('Realms', NULL, NULL)
            $this->_ci_load_class($library, $params, $object_name);
_______________________________________________________________________________
#10 D:\xampp\htdocs\system\core\Loader.php(1178): MX_Loader->library('realms')
            {
                $this->library($item);
            }
_______________________________________________________________________________
#11 D:\xampp\htdocs\system\core\Loader.php(152): CI_Loader->_ci_autoloader()
    /**
     * Initialize the Loader
     *
     * This method is called once in CI_Controller.
     *
     * @param   array
     * @return  object
     */
    public function initialize()
    {
        $this->_ci_classes = array();
        $this->_ci_loaded_files = array();
        $this->_ci_models = array();
        $this->_base_classes =& is_loaded();

        $this->_ci_autoloader();

        return $this;
    }
_______________________________________________________________________________
#12 D:\xampp\htdocs\application\third_party\MX\Loader.php(59): CI_Loader->initialize()
    /** Initialize the loader variables **/
    public function initialize($controller = NULL) {
        
        if (is_a($controller, 'MX_Controller')) {   
            
            /* reference to the module controller */
            $this->controller = $controller;
            
            /* references to ci loader variables */
            foreach (get_class_vars('CI_Loader') as $var => $val) {
                if ($var != '_ci_ob_level') {
                    $this->$var =& CI::$APP->load->$var;
                }
            }
            
        } else {
            parent::initialize();
        }
_______________________________________________________________________________
#13 D:\xampp\htdocs\system\core\Controller.php(51): MX_Loader->initialize()
    public function __construct()
    {
        self::$instance =& $this;
        
        // Assign all the class objects that were instantiated by the
        // bootstrap file (CodeIgniter.php) to local class variables
        // so that CI can run as one big super object.
        foreach (is_loaded() as $var => $class)
        {
            $this->$var =& load_class($class);
        }

        $this->load =& load_class('Loader', 'core');

        $this->load->initialize();
        
        log_message('debug', "Controller Class Initialized");
    }
_______________________________________________________________________________
#14 D:\xampp\htdocs\application\third_party\MX\Base.php(55): CI_Controller->__construct()
class CI extends CI_Controller
{
    public static $APP;
    
    public function __construct() {
        
        /* assign the application instance */
        self::$APP = $this;
        
        global $LANG, $CFG;
        
        /* re-assign language and config for modules */
        if ( ! is_a($LANG, 'MX_Lang')) $LANG = new MX_Lang;
        if ( ! is_a($CFG, 'MX_Config')) $CFG = new MX_Config;
        
        parent::__construct();
    }
}
_______________________________________________________________________________
#15 D:\xampp\htdocs\application\third_party\MX\Base.php(60): CI->__construct()
/* create the application object */
new CI;
_______________________________________________________________________________
#16 D:\xampp\htdocs\application\third_party\MX\Controller.php(4): require('D:\\xampp\\htdocs...')
/** load the CI class for Modular Extensions **/
require dirname(__FILE__).'/Base.php';
_______________________________________________________________________________
#17 D:\xampp\htdocs\application\third_party\MX\Modules.php(119): include_once('D:\\xampp\\htdocs...')
        /* autoload Modular Extensions MX core classes */
        if (strstr($class, 'MX_') AND is_file($location = dirname(__FILE__).'/'.substr($class, 3).EXT)) {
            include_once $location;
            return;
        }
_______________________________________________________________________________
#18 D:\xampp\htdocs\application\modules\news\controllers\news.php(3): Modules::autoload('MX_Controller')
class News extends MX_Controller
_______________________________________________________________________________
#19 D:\xampp\htdocs\system\core\CodeIgniter.php(249): include('D:\\xampp\\htdocs...')
    include(APPPATH.'controllers/'.$RTR->directory.$RTR->class.'.php');
_______________________________________________________________________________
#20 D:\xampp\htdocs\index.php(228): require_once('D:\\xampp\\htdocs...')
require_once BASEPATH.'core/CodeIgniter.php';
_______________________________________________________________________________
#21 {main} thrown in D:\xampp\htdocs\system\core\Input.php on line 391

我不是一个有经验的程序员,我是个新手。

我用直觉修正了一些东西,因为直觉是我的主要技能,但是直觉可以帮助我达到某种程度,我需要那些比我了解得更多的人的经验和知识,不仅是为了解决这个问题,也是为了提高我自己,如果有人能帮助我走出这个洪流来恢复我的网站,我将非常感激。

EN

回答 1

Stack Overflow用户

发布于 2021-01-15 19:02:23

将开关语句的默认部分更改为以下部分应解决此问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
switch ($which) {
    case 'ipv4':
        $flag = FILTER_FLAG_IPV4;
        break;
    case 'ipv6':
        $flag = FILTER_FLAG_IPV6;
        break;
    default:
        $flag = FILTER_DEFAULT;
        break;
}

似乎它一定是旧版本的CodeIgniter中的一个bug。在开关语句的“默认”情况下,它将一个空字符串作为第三个参数传递给filter_var,但它必须接收一个arrayint

它可能只是开始对PHP8造成致命错误,因为8引入了对混合类型的类型提示:https://www.php.net/manual/en/language.types.declarations.php

混合类型等价于联合类型数组\可调用的\{e76f}\可从PHP 8.0.0获得。

您可以使用以下工具查看不同版本的PHP所发生的情况:https://3v4l.org/Sd6oS

编辑-,它可能不会修复所有的错误,但最好先克服这个错误,看看剩下的是什么。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65643612

复制
相关文章
通过主机标头的 XSS
在 IE 中处理重定向时有一个有趣的错误,它可以将任意字符插入到 Host 标头中。假设您有以下 http 响应:
Khan安全团队
2022/01/11
1.6K0
通过 HTTP 标头的 XSS
在某些情况下,在应用程序的一个 HTTP 标头中传递的信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。
Khan安全团队
2022/03/09
2.1K0
常见的HTTP标头介绍
在网络爬虫的实践过程中会遇到诸多挑战,被屏蔽是最令人头疼的一个。幸好,有许多技术可以帮助您免受IP屏蔽带来的影响,这其中,HTTP标头(HTTP Headers)的使用和优化是最有效的方法之一,但它往往也是最被大家低估的方法之一。
用户7850017
2022/05/07
1.1K0
常见的HTTP标头介绍
C++ 中的随机标头系列1
开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
鲸落c
2022/11/28
1.4K0
C++ 中的随机标头系列1
设置和获取HTTP标头
%Net.HttpRequest的以下每个属性都包含具有相应名称的HTTP标头的值。如果不设置这些属性,则会自动计算它们:
用户7741497
2022/06/09
2.5K0
在excel表格插入标黄的这列数据 实现合并单元格,并统计单元格个数?
前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python自动化办公的问题,一起来看看吧。
前端皮皮
2023/09/26
2060
在excel表格插入标黄的这列数据  实现合并单元格,并统计单元格个数?
Log4Shell HTTP 标头注入
此模块需要 Metasploit:https://metasploit.com/download
Khan安全团队
2022/01/14
1.1K0
「HTTP标头」都给你整理好了
HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍
Java3y
2020/02/19
5.8K0
「HTTP标头」都给你整理好了
使用结构化的标头字段改善HTTP
原文 / https://www.fastly.com/blog/improve-http-structured-headers
LiveVideoStack
2020/08/04
6660
服务器未能识别 HTTP 标头 SOAPAction 的值
SOAPAction HTTP request header被用来标识SOAP HTTP请求的目的地,其值是个URI地址。SOAP发送并不限制格式、URI特征或其必须可解析,那么在这种情况下,发送一个HTTP SOAP请求时,其HTTP客户端必须使用/指明SOAPAction HTTP request header。 SOAPAction header的内容可以被用在服务端,诸如:防火墙适当的过滤基于HTTP的SOAP请求消息等场景。SOAPAction header的值为空串("")表示SOAP消息的目
张善友
2018/01/19
3.1K0
12.1版本中的全新数据交互控制和格式选项功能
Stephen Wolfram在他的博客中宣布了Mathematica 12.1版本的正式发行,提到了Dataset相关的更新,以便我们更便捷地研究、理解和演示你的数据。下面是如何使用更新后的Dataset,以及你可以如何利用这个函数更深入地了解你的数据的方法。
WolframChina
2020/08/25
1.6K0
12.1版本中的全新数据交互控制和格式选项功能
对 Google 说不 - 本站已启用屏蔽 FLoC 的 HTTP 标头
被广泛用于定向广告业务和用户数据收集的第三方 Cookie 即将迎来它的消失,而 Google 正试图设计一种方法让广告商在第三方 Cookie 消失后继续根据用户的浏览情况进行跟踪,即 FLoC。
Shiroka
2022/04/28
8740
解决办法:服务器未能识别 HTTP 标头 SOAPAction 的值
转自:http://www.cnsaturn.com/logs/2009/05/26/http-header-soapaction-value-cannot-recognized-by-server-errors 本文主要探讨跨平台调用Web Service出现:"服务器未能识别 HTTP 标头 SOAPAction 的值"的解决办法。
matinal
2020/11/27
5.4K0
解决办法:服务器未能识别 HTTP 标头 SOAPAction 的值
Kafka消费者接收数据异常,contentType标头始终附加到消息正文
使用Spring Cloud Stream 1.3.2.RELEASE向Kafka发布String消息。 当使用命令行Kafka使用者或Spring Kafka @KafkaListener使用消息时,contentType标头始终附加到消息正文
chenchenchen
2021/09/06
1.1K0
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
平台显示 :签名校验失败, 排查到平台收到的Post Payload并非预期,阅读本文,解锁正确使用Content-Type标头的姿势。
有态度的马甲
2020/10/10
8.4K0
我又踩坑了!如何为HttpClient请求设置Content-Type标头?
YAML+PyYAML笔记 4 | YAML字符流、节点属性、块伸缩标头使用
虫无涯
2023/07/31
2180
openpyxl:Python的Excel操作库
luckpunk
2023/09/27
7380
openpyxl:Python的Excel操作库
测试:将手机摄像头用作网络摄像头的拍摄效果
根据我之前比较 WebRTC 和 Zoom 视频质量的文章,我可能需要升级我的网络摄像头。表现较好的网络摄像头价格在 80-200 美元之间。但是,我发现网络摄像头总是有点笨重,而且连线很长,除此之外,在我的笔记本电脑上找到一个免费的 USB 插头也非常麻烦,这使得我又不得不购买一个带电源的USB 集线器。
LiveVideoStack
2021/09/01
2.4K0
测试:将手机摄像头用作网络摄像头的拍摄效果
将Power Pivot模型数据取值到单元格中
在Excel中,使用Power Pivot搭建的模型通常用透视表展现结果,如下图所示。
wujunmin
2021/09/07
1.4K0
将Power Pivot模型数据取值到单元格中
java相关工具类(excel导出)
工具类 package com.longrise.SWMS.Util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.L
java攻城狮
2020/10/10
2.5K0

相似问题

将角度光滑的标头列合并为单个标头列

13

包含其他标头的单个标头

20

UINavigationBar上方的标头

12

粘贴列标头作为轴标

23

头上方的WPF数据标头

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文