Невозможно обновить функцию

function getContactActiveEmails($eid) { global $db; if ($eid) { $sql = "SELECT email FROM activeEmails WHERE id = $eid"; return $db->GetCol($sql); } } 

Я получаю сообщение об ошибке «Can not getContactActiveEmails function getContactActiveEmails »

Номер строки, которую он дает, является последней строкой функции -}

Все файлы вызывают с require_once . Это единственное место во всей кодовой базе, где getContactActiveEmails . Почему это?

Solutions Collecting From Web of "Невозможно обновить функцию"

Из-за ошибки ваша функция четко определена, поэтому вы получаете ошибку.

Я бы рекомендовал проверить, была ли функция уже определена до ее объявления.

 if (!function_exists('getContactActiveEmails')) { function getContactActiveEmails($eid) { global $db; if ($eid) { $sql = "SELECT email FROM activeEmails WHERE id = $eid"; return $db->GetCol($sql); } } } 

решение от @Shakti Singh будет работать, но имейте в виду, что вы теряете контроль над своим кодом – вы не знаете, где объявлена ​​эта функция и что она возвращает, поэтому я предлагаю ее искать

  1. Попробуйте нечувствительный к регистру поиск, многие текстовые редакторы и IDE-файлы ищут регистр по умолчанию, и ваша функция может быть также объявлена ​​как getcontactactiveemails где-то.
  2. Если еще не удастся заставить php сказать что-то об этой функции, используя расширение Reflection

Пример использования рефлексии:

 if(function_exists('getContactActiveEmails')){ $myfunc = new ReflectionFunction('getContactActiveEmails'); echo 'Function is declared in '.$myfunc->getFileName(). ' starting from line '.$myfunc->getStartLine(). ' to '.$myfunc->getEndLine(); die; } 

Подробнее о Reflection

У меня такая же проблема. У меня есть стандартный файл adhoc.inc.php, который импортируется почти в каждый php-файл на моем сайте. Без каких-либо изменений в какой-либо код за ночь я начал видеть ошибку

 [13-Jul-2013 21:19:22 Australia/Sydney] PHP Fatal error: Cannot redeclare checkloggedin() in /Applications/MAMP/htdocs/mycobber/util/adhoc.inc.php on line 4 

Первоначально я только получил его в нескольких файлах, поэтому я просто прокомментировал этот импорт, и он сработал. Внезапно, опять никаких изменений, я получал это в каждом загруженном файле. Я решил, что это не я, поэтому я перезапустил свои серверы MAMP (apache и mysql), а затем он ушел.

Кто-нибудь видел это раньше?

Эта ошибка возникает, если ваша функция определена в цикле, поскольку вы пытаетесь определить ее на каждой итерации.