在我网站上的布局文件中,我有代码
include('functions.php');
引用功能文件的。现在,我向文件添加了一个新功能example()
,并在布局文件中使用了它。
所以在functions.php文件中是:
function example(){
do something
}
并在布局文件中:
include('functions.php');
example();
但是在上传到服务器后,它会丢弃一个错误: 布局文件中的“未捕获的错误:调用未定义的函数example()”
所有其他功能都可以正常工作。仅当我想用新的东西更新functions.php文件时,才会出现此问题。然后,布局文件不包括更新,而是旧版本。
我已经尝试找出服务器或PHP是否具有内部缓存或其他内容,但事实并非如此。那可能是什么原因?
一年前,我将文件重命名为functions2.php,它工作了一年。现在该文件已经是functions4.php,我无法返回较旧的文件名,因为它们仍然无法正常工作。 :(
答案 0 :(得分:0)
有两个缓存库可能会引起类似您的问题(opcache,(过时的)APC等)。 通常,您具有使缓存文件无效的功能,这会强制PHP从文件系统中重新读取它们。
例如,检查您的PHP配置中的 opcache ,然后(如果适用)尝试使用 opcache_invalidate('yourscript.php'); 之类的东西。
(更新:链接已删除,谢谢@duskwuff)