1. 程式人生 > >centos7、php7.1.1安裝event擴充套件

centos7、php7.1.1安裝event擴充套件

經測試,php需要編譯安裝,才能裝上event擴充套件

*Event作用及說明*

描述:有效安排I/O,時間和訊號的擴充套件 使用可用於特定平臺的最佳I/O通知機制的事件,是PHP基礎設施的libevent埠

Event擴充套件不是必須的,當業務需要支撐上萬併發連線時,推薦安裝Event,能夠支援巨大的併發連線。如果業務併發連線比較低,例如1000併發連線,則可以不用安裝。

event是libevent的OOP封裝,比libevent擴充套件提供了更完善的OOP結構和大量的內建可重用元件,libevent不支援php 7及後續版本,已經逐步被pecl捨棄,其最新版本只維護到2013年且長期處於beta狀態。

所以,建議優先使用event而不是libevent擴充套件。 廣義上的libevent是指libevent這個事件庫,但PHP中的一個擴充套件也稱為libevent, 實際使用時要注意加以區分。

*event擴充套件安裝說明:*

1、php 必須要開啟 sockets 功能,需要安裝php的socket擴充套件,才可以安裝event擴充套件;編譯PHP的時候開啟 --enable-sockets
2、event擴充套件也同樣依賴libevent庫,所以首先需要安裝libevent、libevent-devel包(並非擴充套件),即UNIX的libevent基礎庫
3、libevent擴充套件支援php5.3-5.6,目前還不支援php7。php7使用者請使用event擴充套件,php7使用者請不要裝libevent擴充套件,否則會出現coredump錯誤

**安裝步驟**

1、安裝支援庫libevent,需要編譯高版本(這裡以最新版本release-2.1.8-stable為例)
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -P /usr/local/src
cd /usr/local/src
tar -zxvf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent-2.1.8
make && make install
#注:yum install libevent-devel -y

2、安裝event庫(以event-2.3.0.tgz為例)
wget -c http://pecl.php.net/get/event-2.3.0.tgz -P /usr/local/src
cd /usr/local/src
tar -zxvf event-2.3.0.tgz && cd event-2.3.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
make && make install

3、在php.ini新增下面配置
extension=’/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/event.so’

4、重啟php-fpm
systemctl restart php-fpm.service

報錯:
php_sockets_le_socket in Unknown on line 0
解決:event擴充套件必須在sockets擴充套件之後載入,這兩個擴充套件在 php.ini 中按順序填寫
extension=sockets.so
extension=event.so