PHP和iis - 无法重新定义类

时间:2011-05-25 14:56:46

标签: php iis

有时,在运行PHP网站时,我会收到以下错误:

“Fatal error: Cannot redeclare class ExampleClass in 
              C:\website\ExampleClass.php on line 5”

然而文件中的第5行是:

 require_once C:\website\ExampleClass.php

现在有趣的是,这个错误只发生在一次又一次,并且重新启动Web服务器摆脱它,所以我更倾向于认为它是Web服务器配置的问题,而不是代码

在iis中是否存在防止因任何原因执行脚本的安全设置(错误/执行尝试次数过多?)

谢谢,

*编辑*

今天又发生了这种情况,当它发生时,似乎会影响网站中的所有页面,并且所有页面都会生成相同的错误。 (不能在第5行重新定义类)。第5行是在单独的文件中定义类的行,但似乎只能使用_once调用来访问它。

在我清除IIS 5中的应用程序池后,错误消失了。任何关于为什么清除应用程序池会影响任何事情的想法,或者为什么会以随机间隔发生此错误?

1 个答案:

答案 0 :(得分:2)

IIS无法让PHP忘记它已经包含了一个文件。这包括“内存”是按脚本执行的,并且不会在脚本结束后继续存在。您很可能使用常规require指令在其他地方再次包含该文件。