1. ホーム
  2. php

[解決済み] "致命的なエラーです。<function>を再宣言できません"

2022-02-12 09:40:05

質問

ある関数があります(これは、ファイルの先頭から見て、まさにこのように表示されます)。

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

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

    return $salt;
}
...

そして、なぜかエラーが出続けています。

致命的なエラーです。Cannot redeclare generate_salt() (以前は で /Applications/MAMP/htdocs/question-air/includes/functions.php:5) で /Applications/MAMP/htdocs/question-air/includes/functions.php 13行目

なぜ、どのようにこのようなエラーが発生するのかがわかりません。何か思い当たることはありますか?

解決方法を教えてください。

このエラーは、関数がすでに定義されていることを意味します ;これは、:

  • 2つのファイルに同じ関数が定義されている場合
  • または、同じファイル内の2箇所で同じ関数が定義されている場合
  • または、関数が定義されているファイルが2回インクルードされている(つまり、関数が2回定義されていると思われる)。

3番目の点を解決するために、解決策としては include_once の代わりに include を含む場合 functions.php ファイルは、複数回インクルードすることはできません。