지난 이틀 동안 PHP C++ 확장 개발 과정을 배웠습니다. 그 과정에서 많은 함정에 부딪혔는데, 그 내용을 여기에 기록하겠습니다.
mongo_cpp 확장 생성
1. 확장 디렉터리 생성
#cd php-5.3.6/ext
#./ext_skel --extname=hello
2. config.m4 편집
내용을 그대로 둡니다.
PHP_ARG_ENABLE(hello, hello 지원 활성화 여부,
댓글이 정렬되었는지 확인하세요.
[ --enable-hello hello 지원 활성화])
또한 일부 콘텐츠를 추가합니다:
PHP_REQUIRE_CXX()
PHP_SUBST(MONGO_CPP_SHARED_LIBADD)
PHP_ADD_LIBRARY(stdc++, 1, MONGO_CPP_SHARED_LIBADD)
PHP_NEW _EXTENSION(mongo_cpp, mongo_cpp.cpp, $ext_shared) 🎜>
3. 구성 및 makefile 생성 #/xxxx/php/bin/phpize
#./구성 --with-php-c/local/php5/bin/php-config
Makefile 편집
INCLUDE 및 LDFLAG를 수정하고 mongo_cpp.cpp를 제외한 다른 cpp 편집 작업을 추가합니다. shared_objects_mongo_cpp; >5. php_mongo_cpp.h
에서 매크로 선언 함수를 사용합니다. .cpp에서 먼저 추가된 모든 기능을 항목 함수에 등록한 다음 파일의 마지막 부분에 함수 정의를 추가합니다.
7.. sudo make ; sudo make install;
지금까지 /usr/local/php5/lib/php/extensions/no-debug-non- zts -20100525/에는 mongo_cpp.so가 있습니다
8. a, 이유를 모르겠습니다) 실행하기 전에 해당 경로를 LD_LIBRARY_PATH에 추가하세요.
9. 여기서는 설명하지 않는 정보도 확인해야 합니다.
위 내용은 PC 및 PHP 콘텐츠를 포함한 PHP C 확장 개발에 대해 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.