[thinkphp使用phpspreadsheet時出現]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx)
一、總結
一句話總結:Cannot redeclare Complex\abs() (previously declared in D:\software\code\phpStudy2018\PHPTutorial\WWW\github\m_Orchestrate\m_Orchestrate\vendor\markbaker\complex\classes\src\functions\abs.php:26)
錯誤提示:
Cannot redeclare xxxxxx() (previously declared in C:\WWW\geoip.inc:xxx) in <b>C:\WWW\geoip.inc</b> on line <b>xxx</b><br />
錯誤原因:
這個問題是因為多次引用導致重復聲明
解決方法:
1.看到報錯的那個文件,這里是C:\WWW\geoip.inc
2.搜索引用 geoip.inc 的文件,找到:require ("geoip.inc"); 這樣子的語句,將其改為 require_once ("geoip.inc");
3.重新訪問測試,只要還報錯就說明還有地方沒改好
1、我出現這樣問題的原因:?
thinkphp里面其實已經默認幫我們把插件vendor里面的東西都加載進了系統,
而我在第七行中再加載一次,那么肯定會造成重復加載的問題
1 // [ 應用入口文件 ] 2 3 // 定義應用目錄 4 define('APP_PATH', __DIR__ . '/../application/'); 5 // 加載框架引導文件 6 require __DIR__ . '/../thinkphp/start.php'; 7 //require __DIR__ . '/../vendor/autoload.php';
二、[PHP問題]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx)
今天碰到一個詭異的現象,用別人家的PHP程序報錯,簡單記錄一下:
錯誤提示:
Cannot redeclare xxxxxx() (previously declared in C:\WWW\geoip.inc:xxx) in <b>C:\WWW\geoip.inc</b> on line <b>xxx</b><br />
錯誤原因:
這個問題是因為多次引用導致重復聲明
解決方法:
1.看到報錯的那個文件,這里是C:\WWW\geoip.inc
2.搜索引用 geoip.inc 的文件,找到:require ("geoip.inc"); 這樣子的語句,將其改為 require_once ("geoip.inc");
3.重新訪問測試,只要還報錯就說明還有地方沒改好
參考:[PHP問題]Cannot redeclare xxxxxx() (previously declared in C:\WWW\xxx.xxx:xxx) - 御風的博客 - CSDN博客
https://blog.csdn.net/kingsley_zhong/article/details/46328465