最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP嚴(yán)重致命錯(cuò)誤處理:php Fatal error: Cannot redeclare class or function

 更新時(shí)間:2017年02月05日 21:09:14   投稿:mdxy-dxy  
這篇文章主要介紹了PHP嚴(yán)重致命錯(cuò)誤處理:php Fatal error: Cannot redeclare class or function,需要的朋友可以參考下

1、錯(cuò)誤類(lèi)型:PHP致命錯(cuò)誤

Error type: PHP Fatal error
Fatal error: Cannot redeclare (a) (previously declared in (b)) in (c) on line (d)

2、錯(cuò)誤描述:

該錯(cuò)誤報(bào)告表示你正企圖對(duì)已經(jīng)定義過(guò)的函數(shù)進(jìn)行再次定義,其中

a----表示重復(fù)定義的函數(shù)名;
b----第一次定義該函數(shù)時(shí)的文件名稱及行號(hào);
c----第二次定義該函數(shù)時(shí)的文件名稱;
d----第二次定義該函數(shù)時(shí)的行號(hào)。

3、原因及解決方法:

原因:你連續(xù)兩次使用相同名稱來(lái)定義一個(gè)函數(shù),例如

function myFunction(){}
function myFunction(){}

結(jié)果如下

Fatal error:Cannot redeclare myfunction()(previously declared in(path):2)in(path) on line 1

解決:

找到已經(jīng)聲明過(guò)的函數(shù),看看是什么需要導(dǎo)致你再次定義了它。如果只是單純的忘記之前已經(jīng)定義過(guò),那么將其中一個(gè)聲明刪除掉就是。比如你的腳本文件排列異?;靵y,并且你可能使用了大量的include()之類(lèi)的函數(shù),這將導(dǎo)致你很難從混亂的代碼當(dāng)中理清思路。不過(guò),如果你的PHP版本比較新(PHP 5.3.8+)貌似就可以用命名空間來(lái)解決那種的確有重復(fù)定義函數(shù)必要的情況。

4 PHP嚴(yán)重致命錯(cuò)誤處理解決舉例說(shuō)明如下


1)在同一個(gè)文件中重復(fù)聲明了兩次同名的類(lèi):

例如:

<?php 
class Foo {} 
// some code here 
class Foo {} 
?>

在第二個(gè) Foo 的地方就會(huì)報(bào)錯(cuò)。

解決:去掉第二個(gè)Foo,或者重命名。

為了防止重復(fù)定義,可以在定義一個(gè)新的類(lèi)的時(shí)候判斷一下這個(gè)類(lèi)是否已經(jīng)存在:

if(class_exists('SomeClass') != true) 
{ 
 //put class SomeClass here 
} 

2)重復(fù)包含相同的類(lèi)文件:

例如:對(duì)于某個(gè)類(lèi)文件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";

就會(huì)報(bào)錯(cuò)。

解決:將上述的include全部替換為include_once

3)該類(lèi)為PHP類(lèi)庫(kù)中內(nèi)置的類(lèi)。

判斷方法:在一個(gè)空文件中寫(xiě)入

<?php 

class Com 
{ 
 

} 
?>

這時(shí)候提示Cannot redeclare class Com,說(shuō)明這個(gè)類(lèi)就是PHP內(nèi)置的類(lèi)。不能使用。

另外,要避免使用太大眾化的類(lèi)名,比如Com,這個(gè)類(lèi)在Linux使用可能是正常的,在Windows環(huán)境卻無(wú)法運(yùn)行。

 

再記一個(gè)網(wǎng)上找到的解決方法,可能在某些場(chǎng)合有用,先記著

if (!class_exists('pageModule')){ 
require_once(PATH_site.'fileadmin/scripts/class.page.php');
}

上面的辦法不適用于使用了php __autoload類(lèi)加載的方法 ,但己經(jīng)可以解決辦法問(wèn)題了,__autoload是自動(dòng)加載的我們只要把相同類(lèi)名找出來(lái)然后重命名即可。

相關(guān)文章

  • php在字符串中查找另一個(gè)字符串

    php在字符串中查找另一個(gè)字符串

    在php下實(shí)現(xiàn)從指定的字符串中搜索字符串
    2008-11-11
  • php引用傳值實(shí)例詳解學(xué)習(xí)

    php引用傳值實(shí)例詳解學(xué)習(xí)

    在php中使用引用賦值只需要在原始對(duì)象前加個(gè)&就可以了,具體休怎么用呢,可以看下文解釋和實(shí)例
    2013-11-11
  • PHP與SQL注入攻擊[一]

    PHP與SQL注入攻擊[一]

    PHP與SQL注入攻擊[一]...
    2007-04-04
  • 一個(gè)簡(jiǎn)單安全的PHP驗(yàn)證碼類(lèi) 附調(diào)用方法

    一個(gè)簡(jiǎn)單安全的PHP驗(yàn)證碼類(lèi) 附調(diào)用方法

    這篇文章主要為大家分享了一個(gè)簡(jiǎn)單安全的PHP驗(yàn)證碼類(lèi),附調(diào)用方法,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 使用PHP和RabbitMQ實(shí)現(xiàn)消息隊(duì)列功能

    使用PHP和RabbitMQ實(shí)現(xiàn)消息隊(duì)列功能

    這篇文章主要介紹了如何使用PHP和RabbitMQ實(shí)現(xiàn)消息隊(duì)列功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析

    PHP正則表達(dá)式函數(shù)preg_replace用法實(shí)例分析

    這篇文章主要介紹了PHP正則表達(dá)式函數(shù)preg_replace用法,結(jié)合實(shí)例形式分析了PHP正則表達(dá)式函數(shù)preg_replace基本功能、參數(shù)描述與相關(guān)使用技巧,需要的朋友可以參考下
    2020-06-06
  • 十個(gè)PHP高級(jí)應(yīng)用技巧果斷收藏

    十個(gè)PHP高級(jí)應(yīng)用技巧果斷收藏

    PHP,是英文超級(jí)文本預(yù)處理語(yǔ)言Hypertext Preprocessor的縮寫(xiě)。PHP 是一種 HTML 內(nèi)嵌式的語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類(lèi)似于C語(yǔ)言,被廣泛的運(yùn)用。本文介紹了十個(gè)PHP高級(jí)應(yīng)用技巧,一起來(lái)看。
    2015-09-09
  • PHP實(shí)現(xiàn)廣度優(yōu)先搜索算法(BFS,Broad First Search)詳解

    PHP實(shí)現(xiàn)廣度優(yōu)先搜索算法(BFS,Broad First Search)詳解

    這篇文章主要介紹了PHP實(shí)現(xiàn)廣度優(yōu)先搜索算法(BFS,Broad First Search),簡(jiǎn)單描述了廣度優(yōu)先搜索算法的原理并結(jié)合具體實(shí)例分析了php實(shí)現(xiàn)廣度優(yōu)先搜索算法的步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • PHP命名空間namespace及use的簡(jiǎn)單用法分析

    PHP命名空間namespace及use的簡(jiǎn)單用法分析

    這篇文章主要介紹了PHP命名空間namespace及use的簡(jiǎn)單用法,結(jié)合實(shí)例形式分析了php命名空間的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • PHP中文件緩存轉(zhuǎn)內(nèi)存緩存的方法

    PHP中文件緩存轉(zhuǎn)內(nèi)存緩存的方法

    顧名思義文件緩存轉(zhuǎn)內(nèi)存緩存就是將存儲(chǔ)在文件中的數(shù)據(jù)轉(zhuǎn)到內(nèi)存中去,實(shí)現(xiàn)磁盤(pán)操作轉(zhuǎn)為內(nèi)存操作,這樣可以大大提高數(shù)據(jù)訪問(wèn)速度,并能實(shí)現(xiàn)緩存數(shù)據(jù)的分布式部署。文件緩存與內(nèi)存緩存的介紹請(qǐng)參考名詞解釋部分
    2011-12-12

最新評(píng)論

大竹县| 保亭| 海伦市| 盈江县| 循化| 神木县| 衡水市| 大城县| 新竹市| 泗水县| 冷水江市| 武功县| 全州县| 东平县| 青田县| 旌德县| 四子王旗| 诏安县| 本溪| 理塘县| 元氏县| 泽普县| 镇康县| 饶平县| 华安县| 斗六市| 滨州市| 镶黄旗| 舞阳县| 淮滨县| 新津县| 石林| 常山县| 沙洋县| 石棉县| 拉萨市| 亳州市| 阿鲁科尔沁旗| 曲靖市| 新昌县| 建宁县|