최근 64비트 시스템에서 robbe 설치에 문제가 있다는 네티즌들의 제보가 많습니다.
1. robbe를 어떻게 컴파일하는지 모르겠습니다.
2. 다음 오류가 발생했습니다:
지연 기호 바인딩 실패: 기호를 찾을 수 없음: _friso_new_from_ifile
참조 위치: /usr/lib/php/extensions/no-debug-non-zts-20090626/robbe.so
예상 대상: 플랫 네임스페이스
통합 솔루션은 다음과 같습니다.
Robbe는 내부적으로 robbe.so 파일을 제공하지만 32비트 시스템에서 컴파일되므로 절대 작동하지 않습니다. 64비트 시스템.
1. friso를 컴파일하고 설치합니다.
(1) friso의 Makefile을 FFLAGS = -O2 -Wall로 변경합니다. 즉, , -fPIC 옵션을 추가합니다.
(2). make
(3). sudo make install
friso가 성공적으로 설치되었습니다.
2. robbe를 설치합니다:
robbe의 소스 코드 디렉터리
(1)에 cd합니다. phpize(phpize가 없으면 먼저 sudo apt-get install php5-dev를 실행하여 도구를 설치합니다)
(2) ./configure
(3) 여기서는 Makefile
을 변경하는 것이 핵심입니다. 많은 네티즌들이 이 파일을 변경하지 않아 friso의 기능이 작동하지 않는 오류가 발생했습니다. 다음 목표에 friso를 도입하세요. 파일을 공유하려면 -o 옵션 앞에 -lfriso 옵션을 추가하고 다음과 같이 변경하세요.
//Makefile
robbe.lo의 164번째 줄: / c/php_ext/robbe/robbe.c
$(LIBTOOL) --mode=compile $(CC) -I. -I/c/php_ext/robbe $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /c/php_ext/robbe/robbe.c -lfriso -o robbe.lo
//Makefile 라인 168
./robbe.la: $(shared_objects_robbe) $(ROBBE_SHARED_DEPENDENCIES)
$( LIBTOOL) --mode=link $(CC) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -lfriso -o $@ -export-dynamic -avoid-version -prefer-pic -module -rpath $ (phplibdir) $(EXTRA_LDFLAGS) $(shared_objects_robbe) $(ROBBE_SHARED_LIBADD)
//-lfriso
(4) make
(5)를 추가합니다.
(6) php.ini에 robbe.so를 추가하고 robbe를 구성하는 것을 잊지 마세요!
(7) PHP 호스팅 환경을 다시 시작하세요
happy robbe.