我收到了PHP致命错误:
致命错误:无法在第111行的path / src / scripts / php / functions.php中重新声明getString()(先前在path / src / scripts / php / functions.php:66中声明)
包含以下文件:
require_once
调用。它包括所有功能和内容require_once
,所以在这种情况下它不应该调用 functions.php 第二次我通常知道这个错误意味着什么。但是这个函数只声明了一次。此外,只有当我在 functions.php 中的另一个函数中调用它时才会出现错误。
这是功能:
function getString($key, $lang) {
if (!is_string($key) || !is_string($lang)) {
$fehlercode = "StringNoString";
require_once ("path/src/logs/error.php");
exit;
}
$urkey = $key;
$key = (String) $key;
if (strlen($key) < 5) {
switch (strlen($key)) {
case 4:
$key = "0".$key;
break;
case 3:
$key = "00".$key;
break;
case 2:
$key = "000".$key;
break;
case 1:
$key = "0000".$key;
break;
default:
break;
}
}
global $de_Array, $en_Array;
if ($lang == "en") {
if (array_key_exists($key, $en_Array)) {
return $en_Array[$key];
} else {
$fehlercode = "NoStringOn(".$key."en)";
require_once ("path/src/logs/error.php");
exit;
}
} else {
if (array_key_exists($key, $de_Array)) {
return $de_Array[$key];
} else {
$fehlercode = "NoStringOn(".$key."de)";
require_once ("path/src/logs/error.php");
exit;
}
}
}
当我在 index.php 中调用它时,它可以工作:
<? echo getString("00004", $prefLang); ?>
但是,当我从 functions.php 中的另一个函数中调用该函数时,它不起作用:
$faqs = '<div class="zweispaltigEZ"><div class="left"><h3>'.getString("00087", $prefLang).'</h3><ol>'.$questions.'</ol></div><div class="right"><h3>'.getString("00088", $prefLang).'</h3>'.$answers.'</div></div>';
return $faqs;
调用getString()
的函数没有任何问题,因为当我用硬编码文本替换它时,它会起作用。
我&#34;解决了#34;删除调用 error.php 和exits
的代码会导致致命错误。但是,现在, getString()函数仍然无法正常运行。直接从index.php(如上所述)调用它可以正常工作,但在另一个函数中调用它会导致根本没有输出。