2014-12-01 2 views
0

Cygwin에서 PHP 클라이언트 라인 인터페이스를 실행할 수 없도록 노력하고 있습니다. 나는 항상 Segmentation fault 오류 메시지를받습니다. 그러나 일부 기능은 올바르게 수행됩니다. 언제 발생하는지는 말할 수 없습니다.Cygwin의 Symfony2 - PHP 분할 오류

누군가이 오류가 발생하면 cygwin에서 PHP CLI를 올바르게 실행하는 데 필요한 단서를 제공해주십시오.

미리 감사드립니다.

편집

내가 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를 통해 실행한다면 아무런 문제가 없다.

어떻게 효과적으로 디버깅 할 수 있습니까?

편집

가 나는 오류 설명과 함께 HTML 출력을받을 PHP를 CGI로 실행 :

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

I는 입력 인수에 문제가 있다는 생각이 정보를 가졌어요. 콘솔에서 인수없이 스크립트를 실행하면 segmentation fault을받지 못합니다.

이것은 Symfony 프레임 워크이며이 스크립트는 Windows에서는 매력 있고 콘솔에서는 우분투처럼 실행됩니다. 그래서 나는 짐작한다 : - PHP 설정에 문제가있다 - Cygwin에서 콘솔에 문제가있다.

어떻게하면 더 디버깅 할 수 있을까?

+0

매우 모호합니다.분할 오류가 잘못된 메모리 주소에 액세스하는 것입니다. 그들은 당신의 CPU 과열, 더 많은 정보 없이는 말할 수있는 방법을 포함하여 많은 원인으로부터있을 수 있습니다. 항상 같은 장소 또는 임의의 장소에서 충돌합니까? – Andras

+0

질문 해 주셔서 감사합니다. EDIT에 몇 가지 추가 정보를 입력했습니다. 어쩌면 효과적으로 디버깅 할 수있는 방법이 있을까요? –

+0

pcre는 Perl Compatible Regular Expression 라이브러리입니다. 차이점은 없습니다. 권한이 될 수 있습니까? 아파치도 cygwin에서 실행 중입니까? 사용 권한 문제 일 수 있습니까? 나는 거기까지 추적 할 Windows에 대해 충분히 알지 못합니다. 제목 줄을 변경하여 status_access_violation 오류를 언급해야합니다. 어쩌면 누군가가 그 오류를 발견하고 그 사실을 알고있을 것입니다. – Andras

답변

3

오랜 시간 동안 쓸모없는 연구 끝에 필자는 Cygwin에서 php5와 php를 제거하고 독립 실행 형 PHP를 Windows에 매핑하는 것으로 끝납니다. 이 문제에 직면하고있는 사람들을위한

:

  1. 제거 Cygwin에서에 대한 모든 확장 "PHP"그룹을
  2. 실행 Cygwin에서
  3. rm -f /usr/bin/php.exe
  4. rm -rf /usr/share/php
  5. 다운로드 및 Windows 용 새로운 PHP를 설치
  6. ln -s /cygdrive/c/your/path/to/php/php.exe /usr/bin/php.exe

그래서이 문제가 나에게 왜 생겼는지 모르겠지만 Windows 설치를위한 신선한 기본 PHP가 도움이되었습니다.

+0

나는 무엇이 잘못되었는지도 알 수 없었다. 하지만 네, 네이티브 Windows PHP를 설치하고 cygwins bin 폴더에 링크가 작동했습니다. – mr12086