2014-10-28 1 views
1

Freeswitch 1.5가 성공적으로 설치되었으므로 Fs_cli가 완벽하게 작동합니다.Freeswitch ESL phpmod를 만드는 방법은 무엇입니까?

저는 Centos 6을 사용하고 있습니다. ESL을 PHP와 함께 사용하고 싶습니다. 그래서 저는 Freeswitch Wiki에서 PHP 용 ESL을 작성하는 단계를 밟았습니다. 아래와 같이 오류가 발생합니다 :

make MYLIB=".././.libs/libesl.a" SOLINK="-shared -Xlinker -x" CFLAGS="-I/usr/local/src/freeswitch/libs/esl/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/libs/libteletone/src -fPIC -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -g -ggdb -DHAVE_OPENSSL" CXXFLAGS="-I/usr/local/src/freeswitch/libs/esl/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/libs/libteletone/src -fPIC -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1" CXX_CFLAGS="" -C php 
make[1]: Entering directory `/usr/local/src/freeswitch/libs/esl/php' 
g++ -I/usr/local/src/freeswitch/libs/esl/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/libs/libteletone/src -fPIC -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -I/usr/local/src/freeswitch/libs/esl/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/src/include -I/usr/local/src/freeswitch/libs/libteletone/src -fPIC -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -Wno-unused-label -Wno-unused-function -c esl_wrap.cpp -o esl_wrap.o 
esl_wrap.cpp:741:18: error: zend.h: No such file or directory 
esl_wrap.cpp:742:22: error: zend_API.h: No such file or directory 
esl_wrap.cpp:743:29: error: zend_exceptions.h: No such file or directory 
esl_wrap.cpp:744:17: error: php.h: No such file or directory 
esl_wrap.cpp:745:37: error: ext/standard/php_string.h: No such file or directory 
esl_wrap.cpp:1093:21: error: php_ini.h: No such file or directory 
esl_wrap.cpp:1094:31: error: ext/standard/info.h: No such file or directory 
esl_wrap.cpp:803: error: 'E_ERROR' was not declared in this scope 
esl_wrap.cpp:824: error: ISO C++ forbids declaration of 'ZEND_RSRC_DTOR_FUNC' with no type 
esl_wrap.cpp:824: error: 'SWIG_landfill' was not declared in this scope 
esl_wrap.cpp:824: error: expected ',' or ';' before '{' token 
esl_wrap.cpp:830: error: variable or field 'SWIG_ZTS_SetPointerZval' declared void 
esl_wrap.cpp:830: error: 'zval' was not declared in this scope 
esl_wrap.cpp:830: error: 'z' was not declared in this scope 
esl_wrap.cpp:830: error: expected primary-expression before 'void' 
esl_wrap.cpp:830: error: expected primary-expression before '*' token 
esl_wrap.cpp:830: error: 'type' was not declared in this scope 
esl_wrap.cpp:830: error: expected primary-expression before 'int' 
make[1]: *** [esl_wrap.o] Error 1 
make[1]: Leaving directory `/usr/local/src/freeswitch/libs/esl/php' 
make: *** [phpmod] Error 2 
+1

php devel libraries가 설치되어 있습니까? –

+0

예, 설치되었습니다. 여전히 위의 오류를 제공합니다. 다른 것을 분명히해야 할 필요가 있으면 알려주십시오. –

답변

2

. 최상위 freeswitch 소스 디렉토리에서 ./configure를 다시 실행하십시오. 해당 PHP 헤더의 위치를 ​​결정합니다. 그런 다음 ESL 라이브러리를 다시 빌드하십시오.

일단 빌드되면 make phpmod-install을 사용하여 설치하십시오.

+0

나는 이것에 책상에 나의 머리를, 치고 있었다. –