1

当我在 shell (Linux) 中键入时:

php index.php

有时 PHP 脚本终止,我收到一条错误消息:

分段故障

有时它工作正常,有时我得到一个错误

在 php 脚本中,它包括 PDO (mysql)、Curl、一些循环和“Simple HTML Dom”库

PHP版本:

username [~/www/]# php -v
PHP 5.2.9 (cli) (built: Oct  9 2010 02:01:46)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with the ionCube PHP Loader v3.3.20, Copyright (c) 2002-2010, by ionCube Ltd., and
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technolog

如何解决这个问题?我在 Windows 7 (PHP 5.3.0) 上测试时没有问题。

4

2 回答 2

3

这是关于内存访问冲突的。在您的情况下,此错误可能是由于(非详尽列表):

  1. 堆栈溢出(通常在给定函数的递归级别太高时发生)

  2. 太多数据无法放入变量中(例如,您尝试将大文件的全部内容放入变量中)

要了解导致脚本出现问题的原因,请尝试注释越来越大的部分以查看哪个是错误的根源。

于 2011-07-20T14:18:35.077 回答
0

看来您的问题较早解决了:PHP Out of Memory - Crashes Apache? 可能问题在于 Simple HTML Dom 的内存泄漏:http: //simplehtmldom.sourceforge.net/manual_faq.htm#memory_leak

于 2012-07-16T18:57:58.890 回答