Symfony2 на Cygwin - ошибка сегментации PHP

0

Я изо всех сил пытаюсь запустить интерфейс клиентской линии PHP на Cygwin. Я постоянно получаю Segmentation fault ошибки Segmentation fault. Но некоторые из функций правильно выполнены - я не могу сказать, когда это произойдет.

Если у кого-то была эта ошибка, пожалуйста, дайте мне подсказку, чтобы правильно запустить PHP CLI под cygwin.

Заранее спасибо!

РЕДАКТИРОВАТЬ

Я получаю stackdump, но я не знаю, говорит ли он что-нибудь:

Exception: STATUS_ACCESS_VIOLATION at eip=603B7AC6
eax=0000000A ebx=FFE42FFF ecx=002853E0 edx=FFE43000 esi=00000000 edi=FFE43000
ebp=002853E2 esp=00285240 program=C:\cygwin\bin\php.exe, pid 10056, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame     Function  Args
002853E2  603B7AC6 (022A018F, 02D40284, 0348030B, 0374034D)
00040002  00F30055 (00340000, 01E00000, 020C0000, 00360000)

Более того, я пытался ограничить в php.ini

pcre.recursion_limit=1000    
  • нет эффекта.

Он срабатывает каждый раз, когда я работаю с интерфейсом клиентской линии. Если я запускаю его через Apache2, проблем нет.

Как я могу отлаживать его эффективно?

РЕДАКТИРОВАТЬ

Я запускаю его с помощью php-cgi, где я получаю вывод html с описанием ошибки:

ContextErrorException: Warning: Invalid argument supplied for foreach() in ...

Имея эту информацию, я думаю, что есть проблема с входными аргументами. Если я запускаю скрипты без аргументов с консоли, я не получаю segmentation fault.

Это основа Symfony, и эти сценарии работают как очарование на окнах и ubuntu на консоли. Поэтому я предполагаю: - что-то не так с настройками PHP - что-то не так с консолью на Cygwin

Любая идея, как я могу его отладить больше?

  • 0
    это довольно расплывчато Ошибки сегментации связаны с доступом к неверным адресам памяти. Они могут быть вызваны множеством причин, в том числе перегревом вашего процессора, и это невозможно определить без дополнительной информации. Всегда ли происходит сбой в одном и том же месте или в случайных местах?
  • 0
    Спасибо за ваш вопрос. Я помещаю некоторую дополнительную информацию в РЕДАКТИРОВАТЬ. Может быть, есть какой-то способ эффективно отладить его?
Показать ещё 2 комментария
Теги:
cygwin

1 ответ

3
Лучший ответ

После долгих часов бесполезного исследования я получаю удаление php5 и php из Cygwin и отображение там отдельного PHP для Windows.

Для тех, кто сталкивается с этой проблемой:

  1. Удалите всю группу "PHP" для расширений для cygwin
  2. Запустить cygwin
  3. rm -f/usr/bin/php.exe
  4. rm -rf/usr/share/php
  5. Загрузите и установите новый PHP для Windows
  6. ln -s/cygdrive/c/your/path/to/php/php.exe/usr/bin/php.exe

Поэтому я не знаю, почему эта проблема возникла у меня, но помог свежий родной php для установки Windows.

  • 0
    Я не мог понять, что не так. Но да, установка родного Windows PHP и связывание его с папкой cygwins bin работало.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню