Ошибка сегментации при запуске PHP Cli - PullRequest
1 голос
/ 06 июля 2011

Когда я набираю это в оболочке (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).

Ответы [ 2 ]

3 голосов
/ 20 июля 2011

Это примерно нарушение доступа к памяти .В вашем случае эта ошибка может быть вызвана (неисчерпывающим списком):

  1. a переполнение стека (часто происходит, когда уровень рекурсии для данной функции равенслишком высокий)

  2. слишком много данных для помещения в переменные (например, вы пытаетесь поместить все содержимое огромного файла в переменную)

Чтобы узнать, что вызывает проблемы в вашем скрипте, попробуйте комментировать все большие и большие части, чтобы увидеть, какая из них является источником ошибки.

0 голосов
/ 16 июля 2012

Кажется, ваша проблема была решена ранее: Недостаточно PHP - Сбой Apache? Возможно, проблема заключается в утечках памяти в простом HTML Dom: http://simplehtmldom.sourceforge.net/manual_faq.htm#memory_leak

...