經測試,php需要編譯安裝,才能裝上event擴充套件
*event作用及說明*
描述:有效安排i/o,時間和訊號的擴充套件 使用可用於特定平台的最佳i/o通知機制的事件,是php基礎設施的libevent埠
event擴充套件不是必須的,當業務需要支撐上萬併發連線時,推薦安裝event,能夠支援巨大的併發連線。如果業務併發連線比較低,例如1000併發連線,則可以不用安裝。
event是libevent的oop封裝,比libevent擴充套件提供了更完善的oop結構和大量的內建可重用元件,libevent不支援php 7及後續版本,已經逐步被pecl捨棄,其最新版本只維護到2023年且長期處於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 -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 -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
centos編譯安裝PHP7
在php.net中找到最新穩定版php原始碼 這裡我選擇了最新版php 7.1.9 wget php.tar gz net get php 7.1 9.tar gz from this mirror tar xzvf php.tar gzcd php 2 配置php 解壓了php原始碼之後,我們需要...
centos編譯安裝php7
yum y install openssl openssl devel curl curl devel libjpeg libjpeg devel libpng libpng devel freetype freetype devel pcre pcre devel libxslt libxslt ...
centos安裝php7編譯
centos7下安裝php7 php7 centos7 安裝php7 首先安裝一些必須的依賴,這裡就不闡述了,後面文章再細說 yum install y gcc c autoconf centos源不能安裝libmcrypt devel,由於版權的原因沒有自帶mcrypt的包 有兩種方法解決,一種是...