Search code examples
phpinclude

"Fatal error: Cannot redeclare <function>"


I have a function (this is exactly how it appears, from the top of my file):

<?php
//dirname(getcwd());
function generate_salt()
{
    $salt = '';
    
    for($i = 0; $i < 19; $i++)
    {
        $salt .= chr(rand(35, 126));
    }
    
    return $salt;
}
...

And for some reason, I keep getting the error:

Fatal error: Cannot redeclare generate_salt() (previously declared in /Applications/MAMP/htdocs/question-air/includes/functions.php:5) in /Applications/MAMP/htdocs/question-air/includes/functions.php on line 13

I cannot figure out why or how such an error could occur. Any ideas?


Solution

  • This errors says your function is already defined ; which can mean :

    • you have the same function defined in two files
    • or you have the same function defined in two places in the same file
    • or the file in which your function is defined is included two times (so, it seems the function is defined two times)

    To help with the third point, a solution would be to use include_once instead of include when including your functions.php file -- so it cannot be included more than once.