0

由于某种原因,我的类没有正确加载。它们要么无法加载,要么加载了错误的类版本(取自错误的目录)。

经过一些调试,很明显,使用的包含路径实际上是上一个请求的包含路径。

但是,当我运行时get_include_path(),记录的结果是正确的,但从行为中可以清楚地看出,实际上它没有被使用,而是使用了上一个请求中的路径。

我的代码是带有 Yii 框架的 PHP。该框架includepath在运行时进行操作。

PHP版本是5.31,xampp,windows7

编辑:禁用 apc 解决了问题

4

1 回答 1

1

我经常在 APC 上看到这一点。大多数情况下,当 APC 装满时。

在浏览器中运行apc.php脚本(包含在大多数 APC 安装中)以检查您的利用率。输出如下所示: apc 输出

如果 APC 已满,请增加分配给它的内存量。在您的 PHP 配置中的某处,有一个配置选项控制它:apc.shm_size=64. 这分配了 64 兆内存。增加它直到你有一些喘息的空间。您需要重新启动 apache 才能使此更改生效。

如果您每次都将应用程序部署到磁盘上的不同路径,您可能应该清除 APC——否则旧的缓存条目往往会滞留。最简单的方法是优雅地重新启动您的网络服务器。请注意,在活动的生产服务器上,这将中断活动请求一秒钟左右。

于 2011-04-06T19:19:21.747 回答