PHP没有';是否在更新包含的文件时更新它们?

PHP没有';是否在更新包含的文件时更新它们?,php,apache,Php,Apache,在我网站的布局文件中,我有代码 include('functions.php'); 它引用函数文件。现在,我在文件中添加了一个新函数example(),并在布局文件中使用它 因此,在functions.php文件中: function example(){ do something } 在布局文件中: include('functions.php'); example(); 但上传到服务器后,会出现一个错误: “未捕获错误:调用布局文件中未定义的函数示例() 所有其他功能都

在我网站的布局文件中,我有代码

include('functions.php');
它引用函数文件。现在,我在文件中添加了一个新函数
example()
,并在布局文件中使用它

因此,在functions.php文件中:

function example(){
        do something
}
在布局文件中:

include('functions.php');
example();
但上传到服务器后,会出现一个错误: “未捕获错误:调用布局文件中未定义的函数示例()

所有其他功能都可以正常工作。只有当我想用新的东西更新functions.php文件时,才会出现这个问题。然后布局文件不包含更新,而是包含旧版本

我已经试图弄清楚服务器或PHP是否有内部缓存或其他东西,但似乎不是这样。那么原因是什么呢


一年前,我将该文件重命名为functions2.php,它工作了一年。现在该文件已经是functions4.php,我无法返回到旧的文件名,因为它们仍然不起作用(

有几个缓存库可能会导致像您这样的问题(opcache,(过时的)APC,…)。 您通常具有使缓存文件无效的功能,这强制PHP从文件系统中重新读取它们

例如,检查PHP配置中的opcache,并(如果适用)尝试类似opcache_invalidate('yourscript.PHP')


(更新:链接已删除,thx@dashwuff)

否,没有您建议的缓存机制。一定存在其他问题。是否将文件保存为“UTF-8”?是的,我将文件保存为UTF-8,但不包含BOM。您在此处引用的PSR-6缓存库在PHP应用程序中都用于缓存数据,而不是代码。它们不会导致OP描述的症状。它会出现一个错误,即未定义opcache函数。
ini\u get()下没有关于opcache的信息
ini\u get\u all()
也一样?很遗憾,链接没有抓住要点。不过提到的opcache是用来缓存文件的,不是用来缓存数据的。@Smashzap如果启用了opcache,您会在
phpinfo()中看到一个“Zend opcache”部分
output。您使用的是框架、CMS还是类似的工具?@Daniel在本例中,opcache被禁用。我不使用框架或其他工具。