PHP在更新包含的文件时不会更新它们吗?

时间:2019-01-19 10:20:41

标签: php apache

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

include('functions.php');
引用功能文件的

。现在,我向文件添加了一个新功能example(),并在布局文件中使用了它。

所以在functions.php文件中是:

function example(){
        do something
}

并在布局文件中:

include('functions.php');
example();

但是在上传到服务器后,它会丢弃一个错误: 布局文件中的“未捕获的错误:调用未定义的函数example()”

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

我已经尝试找出服务器或PHP是否具有内部缓存或其他内容,但事实并非如此。那可能是什么原因?

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

1 个答案:

答案 0 :(得分:0)

有两个缓存库可能会引起类似您的问题(opcache,(过时的)APC等)。 通常,您具有使缓存文件无效的功能,这会强制PHP从文件系统中重新读取它们。

例如,检查您的PHP配置中的 opcache ,然后(如果适用)尝试使用 opcache_invalidate('yourscript.php'); 之类的东西。

(更新:链接已删除,谢谢@duskwuff)