PHP용 Libevent 확장을 설치하는 방법

醉折花枝作酒筹
풀어 주다: 2023-03-11 06:24:01
앞으로
1933명이 탐색했습니다.

libevent는 이벤트 트리거 네트워크 라이브러리로 Windows, Linux, freebsd 등 다양한 플랫폼에 적합하며 내부적으로 select, poll, epoll, kqueue 등과 같은 시스템 호출을 사용하여 이벤트 메커니즘을 관리합니다. Libevent Extension 설치 방법을 에디터와 함께 배워보겠습니다.

PHP용 Libevent 확장을 설치하는 방법

1. libevent 소개

libevent는 이벤트 트리거 네트워크 라이브러리로 Windows, Linux, FreeBSD 등 다양한 플랫폼에 적합하며 내부적으로 select, poll, epoll, 이벤트 메커니즘을 관리하는 kqueue입니다. Libevent는 크로스 플랫폼이며 탁월한 성능을 제공합니다. nodejs처럼 이벤트 중심입니다. 공식 웹사이트: http://libevent.org/

최신 안정 버전

https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar .gz

주요 모듈:

이벤트 처리 프레임워크

이벤트 엔진 모듈

버퍼 관리 모듈

신호 처리 모듈

php 자체는 멀티스레딩을 지원하지 않으며 PHP는 동시성 메커니즘을 제대로 구현할 수 없습니다. Pecl에서 제공하는 pcntl(프로세스 제어), libevent 확장, 소켓 패키지, 스트림 시스템 기능을 사용하면 PHP를 사용하여 고성능, 동시성 높은 네트워크 애플리케이션을 쉽게 개발할 수 있습니다.

간단한 적용 예: Pcntl 포크 n 워커. 마스터 프로세스가 요청을 받은 후 처리 정보는 작업자 프로그램으로 전송되고 작업자는 처리 후 이를 클라이언트로 다시 보냅니다. 마스터 프로세스는 동시성 양에 따라 작업자 수, 즉 n의 크기를 설정하고 작업자의 데이터를 모니터링하며 부족할 때 추가 프로세스를 시작할 수 있습니다. nginx 원리와 동일합니다.

첨부 파일: Php 네트워크 프로그래밍 프레임워크

http://code.google.com/p/swoole/downloads/list

2. libevent를 배우는 이유

http 서버는 libevent의 고전적인 응용 프로그램이라고 할 수 있습니다. http의 표준 작성 방법은 libevent에서 찾을 수 있습니다. 비차단 http 서버는 소켓 처리와 http 프로토콜 처리가 얽혀 있는 것입니다.

libevent를 배우면 프로그래밍 기술을 향상시키는 데 도움이 될 수 있습니다. Libevent의 코드에는 정보 숨기기, 함수 포인터, C 언어의 다형성 지원, 연결된 목록 및 힙 등과 같은 많은 유용한 설계 기술과 기본 데이터 구조가 있습니다. , 자신의 프로그래밍 기술을 향상시키는 데 도움이 될 것입니다 [1].

세 가지 유형의 요청 처리:

  • 연결 입력에서 새 프로세스를 분기합니다

  • 연결 입력 pthread_create

  • 연결 입력에서 이벤트 기반 배열을 발생시킵니다.

3. Php libevent 확장 모듈 설치

Curl –O https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz

Tar –zxvf libevent-2.0.16-stable.tar.gz
Cd libevent-2.0.16-stable
/usr/local/php/bin/phpize
./configure
make
make install
vi /usr/local/php/etc/php.ini
extension_dir=””;
extension=libevent.so
php –m | grep lib
로그인 후 복사

성공적으로 설치되었습니다

추천 학습:php 비디오 튜토리얼

위 내용은 PHP용 Libevent 확장을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:imooc.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿