【发布时间】:2009-11-28 18:45:23
【问题描述】:
致命错误:/Library/WebServer/Documents/XMLDataStore.class.php上线中允许的内存大小134217728字节用尽(试图分配523800字节)981
这个错误的奇怪之处不是内存泄漏,它很容易排除故障。相反,XMLDataStore.class.php 只有 850 行长,这是我在多个文本编辑器中验证的事实。
这是与 Snow Leopard 捆绑的 PHP 5.3。我没有使用操作码缓存。这是我的 php.ini:
allow_url_fopen = Off
error_reporting = -1
display_errors = 1
display_startup_errors = 1
date.timezone = 'America/Los_Angeles'
output_buffering = Off
realpath_cache_size = 0k
XMLDataStore.class.php 最近被重构,它曾经超过 981 行。就好像 PHP 已经缓存了一个 2 周大的版本并正在读取它。不过,我很肯定 /Library/WebServer/Documents/XMLDataStore.class.php 的当前版本只有 850 行。
【问题讨论】:
-
奇数。没有 AJAX 调用或可以从错误位置获取的东西?如果您删除或重命名 XMLDataStore.class.php 会发生什么,它会抱怨丢失的文件吗?如果将 die() 放入文件的第 1 行会发生什么,输出肯定会停止吗? 100% 确定?
-
AJAX 没有在任何地方使用。此类是更大的 Web 应用程序的一部分,并且正在自动加载。没有花哨的自动加载器缓存正在进行。如果我重命名文件或类名声明,我会得到:致命错误:/Library/WebServer/Documents/Config.class.php 中找不到类'XMLDataStore' b> 在第 18 行 如果我在第 1 行放了一个 die(),它会按预期死掉。如果我然后删除 die(),我会收到关于第 981 行错误的相同错误,该错误不存在。诡异!
-
可以发布 XMLDataStore.class.php 吗?
标签: php line-numbers