首页 理论教育 如何安装event或libevent扩展?

如何安装event或libevent扩展?

时间:2023-11-21 理论教育 版权反馈
【摘要】:为了能支持更大的并发连接数,必须安装event扩展或者libevent扩展,并且优化Linux内核。如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径)echo extension=event.so>/etc/php5/cli/conf.d/30-event.ini3.mac os系统安装mac系统一般作为开发机,不必安装event扩展。如果安装失败请参考页面底部常见问题或者跳过以下步骤3,尝试安装libevent扩展,见本页面底部。

如何安装event或libevent扩展?

为了能支持更大的并发连接数,必须安装event扩展或者libevent扩展(二者作用相同,二选一即可),并且优化Linux内核。以event为例,安装方法如下:

1.centos系统安装

(1)安装event扩展依赖的libevent-devel包,命令行运行

yum install libevent-devel-y

#php7用下面命令

#yum install libevent2-devel-y

(2)安装event扩展,命令行运行

(event扩展要求PHP>=5.4,PHP5.3用户请安装libevent扩展(libevent扩展同时支持php5.4-5.6))

pecl install event

注意提示:Include libevent OpenSSL support[yes]:时输入no回车。

注意提示:PHP Namespace for all Event classes:时输入yes,其它直接敲回车就行。

如果安装失败请参考本节结尾的问题处理。

(3)命令行运行(如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径)

echo extension=event.so>/etc/php.d/30-event.ini

2.debian/ubuntu系统安装

(1)安装event扩展依赖的libevent-dev包,命令行运行

apt-get install libevent-dev-y

#php7用下面命令

apt-get install libevent2-dev-y

(2)安装event扩展,命令行运行

(注意:event扩展要求PHP>=5.4,PHP5.3用户请安装libevent扩展(libevent扩展同时支持php5.4-5.6))

pecl install event

注意提示:Include libevent OpenSSL support[yes]:时输入no回车。

注意提示:PHP Namespace for all Event classes:时输入yes,其它直接敲回车就行。

如果安装失败请参考页面底部常见问题或者跳过以下步骤尝试安装libevent扩展,见本页面底部。

(3)命令行运行(需要切换到root用户。如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径)

echo extension=event.so>/etc/php5/cli/conf.d/30-event.ini

3.mac os系统安装

mac系统一般作为开发机,不必安装event扩展。

全新系统安装(全新安装PHP+扩展)

4.centos系统安装

(1)命令行运行(此步骤包含了安装php-cli主程序以及pcntl、posix、libevent库及git程序)

yum install php-cli php-process git gcc php-devel php-pear libevent-devel-y

(2)安装event扩展,命令行运行

(注意:event扩展要求PHP>=5.4,PHP5.3用户请安装libevent扩展(libevent扩展也支持php5.4-5.6),见本页面底部)

pecl install event

注意提示:Include libevent OpenSSL support[yes]:时输入no回车。

注意提示:PHP Namespace for all Event classes:时输入yes,其它直接敲回车就行。

如果安装失败请参考页面底部常见问题或者跳过以下步骤3,尝试安装libevent扩展,见本页面底部。

(3)命令行运行(此步骤是配置event扩展的ini配置,如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径)

echo extension=event.so>/etc/php.d/30-event.ini

(4)命令行运行(此步骤是通过github下载WorkerMan主程序)

git clone https://***.com/walkor/WorkerMan

(5)参考入门指引,简单开发实例部分写入口文件运行。

或者从官网下载打包好的demo运行。(www.xing528.com)

5.debian/ubuntu系统安装

(1)命令行运行(此步骤包含了安装php-cli主程序、libevent库及git程序)

apt-get install php5-cli git gcc php-pear php5-dev libevent-dev-y

(2)安装event扩展,命令行运行

(注意:event扩展要求PHP>=5.4,PHP5.3用户请安装libevent扩展(libevent扩展也支持php5.4-5.6)

pecl install event

注意提示:Include libevent OpenSSL support[yes]:时输入no回车。

注意提示:PHP Namespace for all Event classes:时输入yes,其它直接敲回车就行。

如果安装失败请参考页面底部常见问题或者跳过以下步骤3,尝试安装libevent扩展,见本页面底部。

(3)命令行运行(需要切换到root用户。此步骤是配置Event扩展的ini配置,如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径)

echo extension=event.so>/etc/php5/cli/conf.d/30-event.ini

(4)命令行运行(此步骤是通过github下载WorkerMan主程序)

git clone https://***.com/walkor/WorkerMan

6.mac os系统安装

方法1:mac系统自带PHP Cli,但是可能缺少pcntl扩展。

通过http://www.***.net/download/WorkerManzip下载WorkerMan主程序,或者到官网下载例子运行。

方法2:通过brew命令安装php及对应扩展

(1)命令行运行以下命令安装brew工具(如果已经安装过brew可以跳过此步骤)

(2)命令行运行以下命令安装php7

brew install php70

(3)命令行运行以下命令安装event扩展

brew install php70-event

(4)到官网下载例子运行

7.Event扩展说明

Event扩展不是必需的,当业务需要支撑大于1000的并发连接时,推荐安装Event,能够支持巨大的并发连接。如果业务并发连接比较低,例如1000以下并发连接,则可以不用安装。

如果无法安装Event扩展,可以用libevent扩展代替,注意目前libevent扩展不支持php7,php7用户只能使用Event扩展。

注意:

(1)libevent扩展也同样依赖libevent库,所以首先需要安装libevent-devel包(并非扩展)。

(2)libevent扩展支持php5.3-5.6,目前还不支持php7。php7用户请使用event扩展,php7用户请不要装libevent扩展,否则会出现coredump错误

安装libevent扩展方法如下:

1.centos系统

yum install libevent-devel

pecl install channel://pecl.php.net/libevent-0.1.0//提示libevent installation[autodetect]:时按回车

echo extension=libevent.so>/etc/php.d/libevent.ini

如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径。

2.debian/ubuntu系统

apt-get install libevent-dev

pecl install channel://pecl.php.net/libevent-0.1.0//提示libevent installation[autodetect]:时按回车

echo extension=libevent.so>/etc/php5/cli/conf.d/libevent.ini

如果ini文件位置不对,可以通过运行php--ini找到实际加载的ini文件路径。

常见问题:

(1)如果出现如下报错checking for include/event2/event.h...not found,请先尝试删除libevent-dev(el)库安并装libevent2-dev(el)。centos系统:yum remove libevent-devel&&yum install libevent2-devel debian/ubuntu系统:apt-get remove libevent-dev&&apt-get install libevent2-dev

(2)如果出现如下报错NOTICE:PHP message:PHP Warning:PHP Startup:Unable to load dynamic library'.../event.so'-..../event.so:undefined symbol:php_Sockets_le_Socket in Unknown on line 0。请更改event.so和Socket.so的加载顺序,既在php.ini中将extension=Socket.so写在extension=event.so前面,让Socket扩展先加载。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈