【问题标题】:Fatal error: Cannot redeclare [duplicate]致命错误:无法重新声明 [重复]
【发布时间】:2013-06-10 22:12:26
【问题描述】:

我在我的一个网站上使用图像管理脚本/模块。在旧版本的脚本中,我在一个页面上导入多个图像库没有问题,但由于我升级到新版本,我收到以下错误(我在我的服务器上遗漏了确切的路径):

Fatal error: Cannot redeclare general_setting() (previously declared in public_html/myfolder/includes.php:16) in public_html/myfolderincludes.php on line 16

我包含了 2 个不同的画廊,我知道我因此两次调用相同的函数。致命错误所指的函数是:

function general_setting($arg) {
$row = mysql_fetch_array (mysql_query ('' . 'SELECT SQL_CACHE `value` FROM `settings` WHERE `setting`=\'' . $arg . '\'')) or die(mysql_error());
return $row['value'];

}

现在我的问题是......我如何改变它,所以它只调用这个函数一次,不管我在“画廊概述”页面上使用了多少脚本。

提前谢谢你!

【问题讨论】:

  • 重命名这些函数之一??

标签: php function declare


【解决方案1】:

你可以把你的函数包装成

if (!function_exists('general_setting')) {
    function general_setting($arg) {
    }
}

这也是流行的 PHP 框架中的常见做法。

【讨论】:

    猜你喜欢
    • 2017-05-22
    • 2014-01-13
    • 2011-07-17
    • 2010-12-29
    • 2015-08-29
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多