2013-10-25 3 views
0

이 코드와 PHP 확장 내부 zval에 저장된 객체에 일부 데이터를 전달하기 위해 노력하고, 나는 세그먼트 오류 오류가 발생분할 오류

[핵심 : 공지] [PID 8645] AH00052 : 아이 PID 8649 종료 신호 분할 오류 (11)

나는이 오류와 객체의 메소드를 호출 할 수있는 올바른 방법은 무엇인가 이유를 이해하기 위해

이 사람이 나를 도울 수 있습니까?

감사합니다.

zval *zbuffer; 
    MAKE_STD_ZVAL(zbuffer); 
    Z_TYPE_P(zbuffer) = IS_STRING; 
    Z_STRVAL_P(zbuffer) = WS_G(buffer); 
    Z_STRLEN_P(zbuffer) = WS_G(bufferLen); 

감사 :

//create zval with the data 
    zval *zbuffer; 
    MAKE_STD_ZVAL(zbuffer); 
    ZVAL_STRINGL(zbuffer, WS_G(buffer), WS_G(bufferLen), 1); 

    ///push data in object 
    zval *retval_ptr; 
    zend_call_method(*WS_G(zobj), ce, NULL, "push", strlen("push"), &retval_ptr, 1, zbuffer, NULL TSRMLS_CC); 
+0

'zend_call_method()'의 마지막 두 인수는 무엇입니까? 나는'zbuffer, NULL TSRMLS_CC);이'zbuffer, NULL, TSRMLS_CC) 여야한다; "또는 이것이 복사/붙여 넣기 실수인가? – Havelock

답변

0

이있는 문제는 내가 z 버퍼 ZVAL 올바른 코드를 생성하는 방식에 있다고 보인다!