PHP 发生 fatal error ,行号不存在

标签 php line-numbers

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/

相关文章:

c++ - 如何使用#pragma message() 使消息指向文件(lineno)?

java - 使用java在文件中查找没有行时遇到困难?

php - 如何阻止用户将 HTML 代码放入文本输入

php - 将数据保存到数据库

php - 如何终止 laravel 迁移中的数据丢失

php - youtube-dl 获取直接下载网址

debugging - 调试器如何知道源代码中的行号?

php - 如何通过 PHP 获取浏览器渲染后计算出的图像宽度?

c++ - 是否可以将 addr2line 与使用发布优化参数编译的应用程序一起使用?

java - 使用 LineNumberReader 类显示行/字/#line