PHP 8.3 编译安装 Event 事件驱动扩展库实操

2024-02-1719:37:36后端程序开发Comments431 views字数 2011阅读模式
PHP 8.3 编译安装 Event 事件驱动扩展库实操

PHP Event 扩展是 PHP 的一个扩展库,用于处理事件驱动的编程。它提供了一种机制,使开发者能够创建、监听和处理事件。事件是一种在特定条件下触发的通知或动作,可以在应用程序的不同部分之间进行通信和交互。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

PHP Event 扩展提供了一组函数和类,用于创建事件循环、注册事件监听器、触发事件等。它基于 libevent 库,一个事件通知库,可以在不同的操作系统和网络环境中使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

使用 PHP Event 扩展,您可以编写基于事件的应用程序,例如异步网络服务器、实时通信应用、长时间运行的任务等。它可以帮助您提高应用程序的性能和响应能力,减少资源消耗,并简化代码结构。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

在当前的服务器上,面对的主要问题就是要能处理大量的连接。而通过libevent这个网络库,我们就可以调用它的API来很好的解决上面的问题。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

依赖

  • libevent库: libevent 是一个轻量级的基于事件驱动的高性能的开源网络库,并且支持多个平台,对多个平台的I/O复用技术进行了封装,当我们编译库的代码时,编译的脚本将会根据OS支持的处理事件机制,来编译相应的代码,从而在libevent接口上保持一致。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html
  • OpenSSL库: OpenSSL 项目开发和维护OpenSSL软件-一个强大的,商业级的,功能齐全的工具包,用于通用密码学和安全通信。该项目的技术决策由OpenSSL技术委员会(OTC)管理,项目治理由OpenSSL管理委员会(OMC)管理。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

安装

libevent  安装

查看是否已经安装文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

ls -al /usr/lib | grep libevent

下载文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

wget https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz

解压文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

tar -zxvf libevent-2.1.12-stable.tar.gz

配置安装目录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

./configure --prefix=/usr/local/libevent-2.1.12

编译安装文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

make && make install

查看是否安装成功文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

$ ls -al /usr/local/ | grep libevent
drwxr-xr-x  5 root root 4096 Mar 17  2023 libevent-2.1.12

PHP event 安装

官方库地址:http://pecl.php.net/package/event文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

PHP 8.3 编译安装 Event 事件驱动扩展库实操

下载最新版本文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

wget http://pecl.php.net/get/event-3.1.0.tgz

解压文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

tar -zxvf event-3.1.0.tgz

生成 ./configure 配置文件文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

cd event-3.1.0/
/usr/local/php-8.3.1/bin/phpize

Configuring for:
PHP Api Version:         20230831
Zend Module Api No:      20230831
Zend Extension Api No:   420230831

配置链接库以及指定libevent安装目录文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

./configure --with-php-config=/usr/local/php-8.3.1/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.12/

指定 libevent 支持库的目录路径 --with-event-libevent-dir文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

编译文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

$ make

安装文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

$ sudo make install

Parse /home/www/build/event-3.1.0/php8/php_event.stub.php to generate /home/www/build/event-3.1.0/php8/php_event_arginfo.h
Parse /home/www/build/event-3.1.0/php8/src/../php_event.stub.php to generate /home/www/build/event-3.1.0/php8/src/../php_event_arginfo.h
Installing shared extensions:     /usr/local/php-8.3.1/lib/php/extensions/no-debug-non-zts-20230831/

php.ini 添加扩展 event.so文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

sudo vim /usr/local/php-8.3.1/etc/php.ini文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

extension=event.so

命令行检查是否安装成功文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

/usr/local/php-8.3.1/bin/php -m|grep event
event

浏览器检查是否安装成功文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html

PHP 8.3 编译安装 Event 事件驱动扩展库实操
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/60275.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/60275.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定