fatal error :/Library/WebServer/Documents/XMLDataStore.class.php行中允许的内存大小 134217728 字节已耗尽(尝试分配 523800 字节)< b>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 缓存了两周前的版本并正在读取它一样。不过,我确信/Library/WebServer/Documents/XMLDataStore.class.php 中的当前版本只有 850 行长。
最佳答案
这可能是换行问题吗?即 PHP 解释器的换行方式与 IDE/编辑器不同?我不知道 PHP 如何处理 Linux/Mac/Windows 换行符,但这可能是一种可能性。 您可以在脚本中的某个位置创建一个 fatal error ,然后查看它显示的是哪一行吗?
您的代码中是否存在一些过长的行(> 65535 个字符),从而混淆了行计数?
如果您重命名该文件并将其包含在新名称下,会发生什么情况?这应该可以解决任何搞砸的缓存问题。
关于PHP 发生 fatal error ,行号不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1813360/