현재 위치: > 최신 기사 목록> C ++를 사용하여 처음부터 PHP7/8 확장을 만드는 방법 | PHP 개발 가이드

C ++를 사용하여 처음부터 PHP7/8 확장을 만드는 방법 | PHP 개발 가이드

M66 2025-07-07

소개

PHP 언어의 지속적인 개발로 점점 더 많은 개발자들이 PHP 확장의 작문 및 사용에주의를 기울이기 시작했습니다. 강력한 프로그래밍 언어로서 C ++는 더 많은 기능 및 성능 최적화를 제공하므로 많은 개발자가 C ++를 사용하여 PHP 확장을 작성하도록 선택합니다. 이 기사는 처음부터 시작하여 C ++ 기반 PHP 확장을 만들고 자세한 코드 예제를 제공하는 방법을 가르쳐 줄 것입니다.

PHP 확장을 이해합니다

시작하기 전에 PHP 확장이 무엇인지, 무엇을하는지 이해해야합니다. PHP 확장은 PHP의 핵심 기능에 새로운 기능과 기능을 추가하기 위해 작성된 코드베이스입니다. 연장을 작성하면 PHP의 소스 코드를 수정하지 않고 PHP의 기능을 직접 확장 할 수 있습니다. C ++는 C ++가보다 유연하고 강력한 기능을 제공하는 C 또는 C ++로 작성 될 수 있습니다.

개발 환경을 구성하십시오

C ++에 대한 PHP 확장을 시작하기 전에 먼저 개발 환경을 구성해야합니다. 특정 단계는 다음과 같습니다.

  • PHP 설치 : 개발 환경에 PHP를 설치하고 PHP의 개발 패키지가 설치되어 있는지 확인해야합니다. 공식 PHP 웹 사이트에서 해당 버전의 PHP 설치 패키지를 다운로드 할 수 있습니다.
  • C ++ 컴파일러 설치 : C ++ 코드를 작성하기 전에 C ++ 컴파일러를 설치해야합니다. 일반적으로 사용되는 C ++ 컴파일러에는 GCC (GNU 컴파일러 스위트) 및 Clang이 포함됩니다.
  • 개발 환경 구성 : PHP 및 C ++ 컴파일러를 설치 한 후 올바른 컴파일 환경을 구성해야합니다. 특정 구성 단계는 공식 문서를 참조하십시오.

PHP 확장을 만듭니다

다음으로 C ++ 기반 PHP 확장을 단계별로 생성하고 몇 가지 간단한 기능을 추가합니다. 다음은 기능의 각 부분을 한 줄씩 설명하는 예제 확장 코드입니다.

 #include "php.h"

#define PHP_MY_EXTENSION_EXTNAME "my_extension"
#define PHP_MY_EXTENSION_VERSION "1.0"

zend_module_entry my_extension_module_entry = {
    STANDARD_MODULE_HEADER,
    PHP_MY_EXTENSION_EXTNAME,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    PHP_MY_EXTENSION_VERSION,
    STANDARD_MODULE_PROPERTIES
};

PHP_MINIT_FUNCTION(my_extension) {
    return SUCCESS;
}

PHP_MSHUTDOWN_FUNCTION(my_extension) {
    return SUCCESS;
}

PHP_RINIT_FUNCTION(my_extension) {
    return SUCCESS;
}

PHP_RSHUTDOWN_FUNCTION(my_extension) {
    return SUCCESS;
}

PHP_FUNCTION(my_extension_hello) {
    php_printf("Hello World!");
}

zend_function_entry my_extension_functions[] = {
    PHP_FE(my_extension_hello, NULL),
    {NULL, NULL, NULL}
};

PHP_MINFO_FUNCTION(my_extension) {
    php_info_print_table_start();
    php_info_print_table_row(2, "my_extension support", "enabled");
    php_info_print_table_end();
}

zend_module_entry *get_module() {
    return &my_extension_module_entry;
}

extern "C" {
    ZEND_GET_MODULE(my_extension)
}

이 코드에는 확장자, 모듈 초기화, 요청 처리 기능 등의 기본 구조 정의가 포함됩니다. 각 섹션은 주석으로 자세히 설명됩니다.

컴파일 및 설치

코드 작성을 마친 후에는 확장자를 컴파일하고 설치해야합니다. 단계는 다음과 같습니다.

  • config.m4 파일 생성 : "config.m4"라는 파일을 만듭니다. 그리고 관련 구성 컨텐츠를 추가하여 확장자가 지원되도록합니다.
  • 컴파일 명령 실행 : 명령 행 터미널에서 확장 디렉토리를 입력하고 다음 명령을 실행하십시오.
  •  phpize
    ./configure --enable-my_extension
    make
    make install
  • 확장 활성화 : 컴파일이 완료된 후 php.ini 파일을 열고 다음 줄을 추가하십시오.
  •  <span class="fun">Extension = my_extension.so</span>
  • PHP를 다시 시작 : PHP 서버를 다시 시작하면 확장자가 활성화됩니다.

사용의 예

다음은 우리가 만든 확장자 사용 방법을 보여주는 간단한 PHP 코드 예제입니다.

 <?php
my_extension_hello();
?>

코드를 실행하면 출력 "Hello World!"가 표시됩니다.

결론적으로

이 기사의 소개 및 코드 예제를 통해 C ++를 사용하여 PHP 확장을 만들고 컴파일하고 설치하는 방법을 이해할 수 있어야합니다. 이 기사는 단순한 예일뿐입니다. 실제로 PHP 확장 개발에는 메모리 관리, 예외 처리, 객체 지향 프로그래밍 등의 광범위한 지식이 포함됩니다.이 기사는 PHP 확장 개발을 시작하고보다 복잡한 확장 개발을 위해 C ++ 사용에 대한 관심을 자극 할 수 있기를 바랍니다.