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에서 콘솔에 문제가있다.
어떻게하면 더 디버깅 할 수 있을까?
매우 모호합니다.분할 오류가 잘못된 메모리 주소에 액세스하는 것입니다. 그들은 당신의 CPU 과열, 더 많은 정보 없이는 말할 수있는 방법을 포함하여 많은 원인으로부터있을 수 있습니다. 항상 같은 장소 또는 임의의 장소에서 충돌합니까? – Andras
질문 해 주셔서 감사합니다. EDIT에 몇 가지 추가 정보를 입력했습니다. 어쩌면 효과적으로 디버깅 할 수있는 방법이 있을까요? –
pcre는 Perl Compatible Regular Expression 라이브러리입니다. 차이점은 없습니다. 권한이 될 수 있습니까? 아파치도 cygwin에서 실행 중입니까? 사용 권한 문제 일 수 있습니까? 나는 거기까지 추적 할 Windows에 대해 충분히 알지 못합니다. 제목 줄을 변경하여 status_access_violation 오류를 언급해야합니다. 어쩌면 누군가가 그 오류를 발견하고 그 사실을 알고있을 것입니다. – Andras