Php “随机出现”;“无法重新定义…”;错误
PHP 5.6、Windows Server 2016、IIS 10 PHP中的任何人都很熟悉该错误:Php “随机出现”;“无法重新定义…”;错误,php,windows,iis,Php,Windows,Iis,PHP 5.6、Windows Server 2016、IIS 10 PHP中的任何人都很熟悉该错误: PHP Fatal error: Cannot redeclare mainContent() (previously declared in [the controller file]:12) in [some included file] on line 29 事情是这样的:这个错误刚刚出现。一个已经运行了好几天而没有被触动的程序刚刚开始抛出错误。当我重新启动IIS时,错误消失,一切恢
PHP Fatal error: Cannot redeclare mainContent() (previously declared in [the controller file]:12) in [some included file] on line 29
事情是这样的:这个错误刚刚出现。一个已经运行了好几天而没有被触动的程序刚刚开始抛出错误。当我重新启动IIS时,错误消失,一切恢复正常
这与此错误类似:
所以这里不是:
- 函数不会在程序中的任何地方声明两次。有问题的函数名“mainContent”在任何程序中都是保留和使用一次且仅使用一次的李>
- 每个include/require都是include\u一次或require\u一次,没有例外,因此它不是双重include李>
(我打算将网站升级到PHP7,但这不是一个11转换,客户的日常业务无法忍受停机时间,因此我在这里停留了一段时间。)下面是一个简单的示例,重现您报告的问题:
<?php
function foo(int $a) {
echo $a;
echo "\n";
}
function bar(int $b) {
echo $b;
echo "\n";
}
echo "I'm running. gonna redeclare\n";
function foo(int $x) {
print "i'm the redeclared foo\n";
}
foo(23);
echo "finito\n";
如果您能够分享一些相关的代码,您可能会更容易思考您的问题并提供一些帮助。谢谢,但代码并不相关。这一切都在解释中:前一刻没有错误,下一刻就有错误。没有代码更改。如果我的描述不清楚,我很抱歉,我感谢您花时间重申十几个谷歌搜索已经说过的话,但是,请原谅,您似乎没有阅读我写的内容。有一点澄清:一旦发生错误,错误将持续存在,重新启动IIS将修复该问题。我认为重新启动IIS不会对代码进行更改,从而修复函数重新声明(如果存在)是错误的吗?