PHP-require_once似乎多次包含文件并导致错误

PHP-require_once似乎多次包含文件并导致错误,php,require-once,Php,Require Once,在我的PHP应用程序中,我多次调用require\u。在我的开发PC上,它工作正常,不会多次尝试包含同一个文件。但是,当我将其移动到生产服务器时,我得到了一个错误 无法重新声明类myClass 在搜索代码后,我发现这是在调用require\u once之后发生的,因此它一定是导致它的原因 我已经搜索了整个项目,这个类肯定只在一个文件中声明,而且它只通过require\u一次包含在内。是否有一些奇怪的PHP配置会使require\u once在生产服务器上的行为有所不同 谢谢请将以下内容放在包含的

在我的PHP应用程序中,我多次调用
require\u
。在我的开发PC上,它工作正常,不会多次尝试包含同一个文件。但是,当我将其移动到生产服务器时,我得到了一个错误

无法重新声明类myClass

在搜索代码后,我发现这是在调用
require\u once
之后发生的,因此它一定是导致它的原因

我已经搜索了整个项目,这个类肯定只在一个文件中声明,而且它只通过
require\u一次
包含在内。是否有一些奇怪的PHP配置会使
require\u once
在生产服务器上的行为有所不同


谢谢

请将以下内容放在包含的课程文件的顶部:

if( class_exists( "<yourclassname>"))
{
throw new Exception("Class already defined");
}
if(类_存在(“”)
{
抛出新异常(“类已定义”);
}

您现在将收到一条清晰的错误消息,其中类被重新调用。

好的,这个讨厌的问题可能是由我知道的两件事之一引起的:

符号链接;如果从文件和指向该文件的符号链接加载

在OSX(可能还有Windows)上,文件名不区分大小写;PHP require_once不是


这让我今天困惑了好几个小时。我通常在Linux中工作,但我被迫使用Mac,这就成了一个问题。

require\u一旦
将检查文件是否已包含,而不是类是否已定义。是,也许你在两个不同的文件中定义了同一个类,但我肯定没有这样做——我检查了整个项目——这个类只在一个文件中定义。