我有一个函数(这正是它的显示方式,从我的文件顶部开始):

<?php
//dirname(getcwd());
function generate_salt()
{
    $salt = '';

    for($i = 0; $i < 19; $i++)
    {
        $salt .= chr(rand(35, 126));
    }

    return $salt;
}
...

由于某种原因,我不断收到错误:

致命错误:无法在线重新声明 /Applications/MAMP/htdocs/question-air/includes/functions.php 中的generate_salt()(之前在 /Applications/MAMP/htdocs/question-air/includes/functions.php:5 中声明)

我无法弄清楚为什么或如何发生这样的错误。

答案

这个错误表明你的函数已经定义了;

  • 您在两个文件中定义了相同的函数
  • 或者您在同一文件的两个位置定义了相同的函数
  • 或者定义函数的文件被包含两次(因此,函数似乎被定义了两次)

为了帮助解决第三点,解决方案是使用include_once代替include当包括你的functions.php文件——所以它不能被包含多次。

来自: stackoverflow.com