我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Fatal error: Cannot redeclare 原因与解决方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Fatal error: Cannot redeclare 原因与解决方法

今天在用PHP博客程序Wordpress的时候,结果在“后台 - 外观 -小工具”这里,报错如下:

Fatal error: Cannot redeclare hot_comment_viewed() (previously declared in /fujieace/nginxssl/html/wp-content/themes/fujie/inc/function/widget.php:350) in /fujieace/nginxssl/html/wp-content/themes/fujie/inc/function/widget.php on line 350

中文翻译

致命错误:无法重新声明 hot_comment_viewed()(以前在/fujieace/nginxssl/html/wp-content/themes/fujie/inc/function/widget.php:350中声明)

原因:

通过上面的翻译,也能大概猜出来了。

字面意思理解的就是:某个方法被重复定义了。

再通俗点讲就是:你连续两次及以上使用相同名称来定义一个函数。例如:

function myFunction(){}

function myFunction(){}

如果你的程序代码没什么问题,还发生这个错误,在PHP中一般是由于include、require引起来的,具体知识如下:

include:使用include引用外部文件时,只有代码执行到include代码段时,调用的外部文件才会被引用并读取,当引用的文件发生错误时,系统只会给出个警告错误,而整个php文件会继续执行。

require:在php文件被执行之前,php解析器会用被引用的文件的全部内容替换require语句,然后与require语句之外的其他语句组成个新的php文件,最好后按新的php文件执行程序代码。

include和require的区别

使用require语句来调用文件时,如果调用的文件没有找到,require语句会输出错误信息,并且立即终止脚本处理。儿include语句在没有找到文件时则会输出警告,不会终止脚本的处理。

使用require语句调用文件时,只要程序一执行,就会立刻调用外部文件。而通过include语句调用外部文件时,只有程序执行到该代码段时,才会调用外部文件。

include_once:使用include_once会在导入文件前先检测该文件是否在该页面的其他部分被应用过,如果有,则不会重复引用该文件,程序只能引用一次。(要导入的文件中存在一些自定义函数,那么如果在同一个程序中重复导入这个文件,在第二次导入时便会发生错误,因为php不允许相同名称的函数被重复声明)

require_once:require_once语句是require语句的延伸,他的功能与require语句基本一致,不同的是,在应用require_once时,先会检查要引用的文件是不是已将在该程序中的其他地方被引用过,如果有,则不会在重复调用该文件。(同事使用require_once语句在同一页面中引用了两个不同的文件,那么在输出时,只有第一个文件被执行,第二个引用的文件则不会被执行)

include_once和require_once的区别

include_once语句在脚本执行期间调用外部文件发生错误时,但不会影响程序向下运行。而require_once语句则会出现一个致命的错误,用途都是确保一个被包含的文件只能被包含一次,使用这两个语句可以防止意外的多次包含相同的数据库,从而导致函数的重复定义并产生错误。

解决方法

以我这里PHP博客程序Wordpress为例子,由于我是用的Wordpress主题,以前一直是正常的,只是突然出现这个报错了,我解决也很简单,具体如下:

既然说 hot_comment_viewed() 这个函数或方法被重复定义了,那我就直接去到 widget.php 350行,把那个方法屏闭掉或者删除。

349  368 
369
    370 371 372
373

注意:

370行的代码也得屏闭掉,因为涉及到调用函数,不屏闭照样会报错误。

最后我才发现,不是主题代码的问题,是由于我最近更新了Wordpress版本的问题,造成了Wordpress版本和主题不兼容,毕竟我的主题是N年以前的老主题了。

现在的Wordpress小工具打开如下图:

还需要提醒大家一点:

虽然说我屏闭代码能够正常进入Wordpress小工具了。

但是,如果你以后不解除屏闭的代码,你网站上但凡是调用此代码的内容是不会再显示出来的。

因此,我为了保证网站的布局不影响,我成功进小工具后修改了相关的设置后,我保存后,我出来又重新把屏闭掉的代码恢复了,这样网站整个都正常了。

最后还要说一下,由于我更新到新版本的Worpdress后,小工具虽然可以进去了,但是发现修改某些设置后并不能保存内容了,也是主题和Wordpress版本不兼容引起的,这个大家要注意一下。

来源地址:https://blog.csdn.net/winkexin/article/details/130628899

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Fatal error: Cannot redeclare 原因与解决方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Win11红警运行出现FATAL的原因分析及解决方法

出现FATAL错误可能是由于以下原因之一导致的:1. 系统要求不满足:Win11对硬件配置有一定要求,如CPU、内存和存储等,如果您的计算机不满足这些要求,就可能会出现FATAL错误。您可以查阅Win11的系统要求,并确保您的计算机符合这些
2023-09-17

CLOSE_WAIT状态的原因与解决方法

CLOSE_WAIT状态是TCP连接的一种状态,表示本地端已经发起了关闭连接的请求,但是远程端还没有发送关闭连接的响应。原因:1. 本地端发送了关闭连接的请求,但是远程端还没有收到或者没有及时响应。2. 远程端正在处理其他任务,导致无法及时
2023-08-11

java汉字乱码的原因与解决方法

在基于Java的编程中,经常会碰到汉字的处里及显示的问题,比如一大堆乱码或问号。这是因为JAVA中默认的编码方式是UNICODE,而中国人通常使用的文件和DB都是基于GB2312或者BIG5等编码,故会出现此问题。推荐:java基础教程1、在网页中输出中文。J
java汉字乱码的原因与解决方法
2021-11-01

python中urllib.unquote乱码的原因与解决方法

发现问题 Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%E6%B3%95%E5%9B%BD
2022-06-04

java出现乱码的原因与解决方法详解

java在字符串中统一用Unicode表示。(推荐:java视频教程)对于任意一个字符串:String string = “测试字符串”;如果源文件是GBK编码,操作系统默认环境编码也为GBK,那么编译的时候,JVM将按照GBK编码将字节数组解析为字符,然后将
java出现乱码的原因与解决方法详解
2017-02-06

node-sass安装失败的原因与解决方法

前言 我们一般在利用npm 安装 node-sass 依赖时,会从 github.com 上下载 .node 文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。这是使用 sass 的同学可能都会遇到的郁闷的问题。 解决
2022-06-04

阿里云ECS无法下载问原因与解决方法

阿里云ECS(ElasticComputeService)是一种弹性计算服务,可以为用户提供虚拟机等计算资源。然而,有些用户可能会遇到阿里云ECS无法下载的问题。本文将详细介绍这个问题的原因和解决方法。阿里云ECS无法下载的主要原因:网络问题:如果你的网络连接不稳定或者速度过慢,可能会导致阿里云ECS无法下载。在
阿里云ECS无法下载问原因与解决方法
2023-12-14

java zip压缩乱码原因与解决方法介绍

java zip压缩乱码的原因与解决方法:(推荐:java视频教程)运行环境Jdk 1.5,win 7中文版JDK1.5中有zip压缩相关的API,在java.util.zip包下面。正常情况下,使用JDK自带的API把目录(文件)压缩成zip包,步骤如下:Z
java zip压缩乱码原因与解决方法介绍
2015-12-05

分析空指针异常的原因与解决方法

空指针异常的原因及解决方法探析导语:在程序开发过程中,我们经常会遇到一种常见的异常——空指针异常。当我们访问一个空对象的属性或调用空对象的方法时,就会抛出空指针异常。本文将探析空指针异常的原因,并给出相应的解决方法,同时提供具体的代码示例。
分析空指针异常的原因与解决方法
2023-12-28

Java项目报400错误的原因与解决方法

java项目中400错误介绍:(推荐:java视频教程)400 Bad Request:请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如”Missing Call-ID header field”。HTTP 400 错误 - 请求无
Java项目报400错误的原因与解决方法
2020-12-06

Discuz登录失败的原因分析与解决方法

Discuz登录失败的原因分析与解决方法在使用Discuz论坛系统时,有时会遇到登录失败的情况,这可能会给用户带来困扰。本文将对Discuz登录失败的原因进行分析,并提供解决方法,同时给出具体的代码示例,帮助读者更好地应对这一问题。一、
Discuz登录失败的原因分析与解决方法
2024-03-09

阿里云服务器变慢原因与解决方法

阿里云服务器是许多企业和个人用户的重要工具,但有时候可能会出现变慢的情况,这可能会影响到用户的工作和生活。本文将详细解释阿里云服务器变慢的原因,并提供相应的解决方法。原因一:网络问题阿里云服务器的运行效率与网络质量密切相关。如果用户的网络连接不稳定或者带宽过小,都可能造成服务器的响应速度变慢。此外,如果用户使用的
阿里云服务器变慢原因与解决方法
2023-11-13

Fatal error: Call to a member function read() on a non-object in 错误解决方法

Fatal error: Call to a member function read() on a non-object in E:\www\include\dialorrgFtgHjVg\select_soft.php on line
2022-06-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录