PHP严重致命错误处理:php Fatal error: Cannot redeclare clas
2019独角兽企业重金招聘Python工程师标准>>>
1、错误类型:PHP致命错误
Error type: PHP Fatal error
Fatal error: Cannot redeclare (a) (previously declared in (b)) in (c) on line (d)
2、错误描述:
该错误报告表示你正企图对已经定义过的函数进行再次定义,其中
a----表示重复定义的函数名;
b----第一次定义该函数时的文件名称及行号;
c----第二次定义该函数时的文件名称;
d----第二次定义该函数时的行号。
3、原因及解决方法:
原因:你连续两次使用相同名称来定义一个函数,例如
function myFunction(){}
function myFunction(){}
结果如下
Fatal error:Cannot redeclare myfunction()(previously declared in(path):2)in(path) on line 1
解决:
找到已经声明过的函数,看看是什么需要导致你再次定义了它。如果只是单纯的忘记之前已经定义过,那么将其中一个声明删除掉就是。比如你的脚本文件排列异常混乱,并且你可能使用了大量的include()之类的函数,这将导致你很难从混乱的代码当中理清思路。不过,如果你的PHP版本比较新(PHP 5.3.8+)貌似就可以用命名空间来解决那种的确有重复定义函数必要的情况。
4 PHP严重致命错误处理解决举例说明如下
1)在同一个文件中重复声明了两次同名的类:
例如:
<?php
class Foo {}
// some code here
class Foo {}
?>
在第二个 Foo 的地方就会报错。
解决:去掉第二个Foo,或者重命名。
为了防止重复定义,可以在定义一个新的类的时候判断一下这个类是否已经存在:
if(class_exists('SomeClass') != true)
{
//put class SomeClass here
}
if(class_exists('SomeClass') != true)
{
//put class SomeClass here
}
2)重复包含相同的类文件:
例如:对于某个类文件some_class.php,在a.php中
include "some_class.php";
include "some_class.php";
在b.php中
include "a.php";
include "some_class.php";
include "a.php";
include "some_class.php";
就会报错。
解决:将上述的include全部替换为include_once
3)该类为PHP类库中内置的类。
判断方法:在一个空文件中写入
<?php
class Com
{
}
?>
这时候提示Cannot redeclare class Com,说明这个类就是PHP内置的类。不能使用。
另外,要避免使用太大众化的类名,比如Com,这个类在Linux使用可能是正常的,在Windows环境却无法运行。
再记一个网上找到的解决方法,可能在某些场合有用,先记着
if (!class_exists('pageModule')){
require_once(PATH_site.'fileadmin/scripts/class.page.php');
}
上面的办法不适用于使用了php __autoload类加载的方法 ,但己经可以解决办法问题了,__autoload是自动加载的我们只要把相同类名找出来然后重命名即可。
文章转载自:[169it.com科技资讯]
本文标题:PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
转载于:https://my.oschina.net/u/1766067/blog/299250
PHP严重致命错误处理:php Fatal error: Cannot redeclare clas相关推荐
- Fatal error: Cannot redeclare 原因与解决方法
今天在用PHP博客程序Wordpress的时候,结果在"后台 - 外观 -小工具"这里,报错如下: Fatal error: Cannot redeclare hot_commen ...
- Fatal error: Cannot redeclare db_connect() 错误
Fatal error: Cannot redeclare db_connect() (previously declared in D:/wamp/www/flex/new/mysql_inc.ph ...
- php fatal error: cannot redeclare,Fatal error: Cannot redeclare 常见问题
Fatal error: Cannot redeclare 常见问题 fatal error: cannot redeclare这种问题php教程 开发可能会碰到过,原因是很简单的,就是重复调用了相同 ...
- 无法启用插件,因为它引起了一个致命错误(fatal error)。
关于wordpress不能启用某插件引发的错误,php 中 出错,Cannot redeclare wpb_getImageBySize().这个问题也是在我wordpress版本从v4.1生成v4. ...
- 问题 | Matlab:Fatal Error on startup(致命错误)
================================================ 博主github:https://github.com/MichaelBeechan 博主CSDN:h ...
- linux常见致命错误(fatal error),解决办法:
常见错误一:fatal error: zlib.h: No such file or directory 解决办法: sudo apt-get install zlib1g-dev 常见错误二:fat ...
- vs与git中间的阻拦--Git failed with a fatal error. error: open(“.vs/GBA/v16/Server/sqlite3/db.lock
具体错误信息: Git failed with a fatal error. error: open(".vs/GBA/v16/Server/sqlite3/db.lock 因为git上传要 ...
- 成功解决Ubuntu下的include/darknet.h:14:14: fatal error: cuda_runtime.h: No such file or directory
成功解决Ubuntu下的include/darknet.h:14:14: fatal error: cuda_runtime.h: No such file or directory 目录 解决问题 ...
- Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
之前在运行一个文件时,发生了这个问题,排查了一下是wineModel = LassoCV(cv=10).fit(X, Y) 这行代码组成的. Intel MKL FATAL ERROR: Cannot ...
最新文章
- 手机通讯录分组名称_基于Aandroid的手机操作系统(7)
- Google首席科学家Peyman 《计算成像去噪进展》斯坦福演讲报告,附视频与Slides
- 第四节 莎士比亚模板
- 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
- OVS DPDK--虚拟设备配置(六)
- laravel5.4 关于select下拉框读取数据库数据案例
- 【C++ Primer | 08】课后习题答案
- Nginx+keepalived 实现高可用,防盗链及动静分离配置详解(值得收藏)
- Mac node js环境的安装与测试
- Java String子序列
- ubuntu 创建容器 并ssh 连接容器
- 泛微oa安装mysql,泛微OA系统安装升级重装手册(参考).doc
- 十大网站压力测试软件-- WEB压力测试工具介绍
- 最强数据库工具——IDEA
- CTCS列控系统原理--详细学习笔记
- 优酷的kux格式怎么转换成mp4?教你快速转换的方法
- 现代信号处理——自适应滤波器(LMS自适应滤波器)
- 鸿蒙应用开发 | 时间选择器(TimePicker)的功能和用法
- android 获取刘海高度,不同刘海屏幕获取安全高度
- input标签用法与功能全面解析
热门文章
- cmd运行Java中文乱码,无法加载主类Error: Could not find or load main class
- 【二维树状数组】See you~
- MXNet学习:试用卷积-训练CIFAR-10数据集
- PHP基础封装简单的MysqliHelper类
- Galaxy nexus i9250 android 4.2 一键root
- 准备把以前在百毒博客写的一些文章搬运过来
- Asp.net Mvc Enum 扩展
- 使用git 上传自己代码
- g(n)= d∣n ∑ f( d n )_专栏F|Cora单词25衣服 (下):衣服也要配饰来搭配
- 基类和派生类写在一个文件中_BootISO:从 ISO 文件中创建一个可启动的 USB 设备...