Ubuntu14.04 安装 php libevent扩展
今天想研究一下php的libevent扩展,于是就在本地的虚拟机上尝试安装。由于本人的linux基础不是很好,中间走了一些弯路。现在记录一下,具体的我安装的步骤,希望能让需要的人少走弯路。
1、安装php环境
sudo apt-get install php5
执行完这个命令之后,Ubuntu系统会自动安装环境。php.ini 文件在
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
记住记住,我们 libevent 运行在 php-cli模式下,因此我们只要关注 /etc/php5/cli/php.ini 这个配置文件即可。
此时安装的php,我们用 php -m 命令查看,许多的有用的扩展并没有装上,这是我们还需要运行 :
sudo apt-get install php5-dev
这个命令会安装,接下来我们需要的 phpize 和 php-config
2、安装 libevent
php的libevent扩展,依赖于unix的 libevent。所以首先我们应该去安装libevent
1 wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz 2 tar zxvf libevent-2.0.20-stable.tar.gz 3 cd libevent-2.0.20-stable/ 4 ./configure --prefix=/usr/local/libevent-2.0.20/ 5 make 6 make install
没什么好说的,按照 命令逐条执行即可。出现没有权限的 问题,加 sudo 命令即可。
3、安装 php libevent 扩展
php libevnet的地址在官方 pecl库中可以找到。执行如下命令安装:
1 wget http://pecl.php.net/get/libevent-0.1.0.tgz 2 tar -zxvf libevent-0.1.0.tgz 3 cd libevent-0.1.0 4 /usr/bin/phpize 5 ./configure --with-php-config=/usr/bin/php-config --with-libevent=/usr/local/libevent-2.0.20/ 6 make && make install
记得最后将 extension=libevent.so 加到 /etc/php5/cli/php.ini 中,执行:
sudo gedit /etc/php5/cli/php.ini
打开编辑保存即可
加上 PHP Libevent扩展介绍:
1、常量表:
2、函数以及解释:
- event_base_free() 释放资源,这不能销毁绑定事件
- event_base_loop() 处理事件,根据指定的base来处理事件循环
- event_base_loopbreak() 立即取消事件循环,行为各break语句相同
- event_base_loopexit() 在指定的时间后退出循环
- event_base_new() 创建并且初始事件
- event_base_priority_init() 设定事件的优先级
- event_base_set() 关联事件到事件base
- event_buffer_base_set() 关联缓存的事件到event_base
- event_buffer_disable() 禁用一个缓存的事件
- event_buffer_enable() 启用一个指定的缓存的事件
- event_buffer_fd_set() 改变一个缓存的文件系统描述
- event_buffer_free() 释放缓存事件
- event_buffer_new() 建立一个新的缓存事件
- event_buffer_priority_set() 缓存事件的优先级设定
- event_buffer_read() 读取缓存事件中的数据
- event_buffer_set_callback() 给缓存的事件设置或重置回调hansh函数
- event_buffer_timeout_set() 给一个缓存的事件设定超时的读写时间
- event_buffer_watermark_set 设置读写事件的水印标记
- event_buffer_write() 向缓存事件中写入数据
- event_add() 向指定的设置中添加一个执行事件
- event_del() 从设置的事件中移除事件
- event_free() 清空事件句柄
- event_new() 创建一个新的事件
- event_set() 准备想要在event_add中添加事件