>백엔드 개발 >PHP 튜토리얼 >64비트 Linux에서의 robbe 컴파일 및 설치 문제에 대해

64비트 Linux에서의 robbe 컴파일 및 설치 문제에 대해

伊谢尔伦
伊谢尔伦원래의
2016-11-29 11:10:121369검색

최근 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.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.