简体   繁体   English

你如何安装Libevent for PHP?

[英]How do you install Libevent for PHP?

I installed the libevent-dev library on my Debian 7 64bit desktop: 我在Debian 7 64bit桌面上安装了libevent-dev库:

$ sudo aptitude install -y libevent-dev

Then I installed the PECL library 然后我安装了PECL库

$ pecl list
Installed packages, channel pecl.php.net:
=========================================
Package  Version State
libevent 0.1.0   beta

I've restarted PHP and the OS but PHP doesn't list libevent as an installed ext in with phpinfo() and I get "PHP Fatal error: Call to undefined function event_base_new()" when I try to use it. 我已经重新启动了PHP和操作系统,但PHP没有列出libevent作为一个已安装的ext in phpinfo() ,当我尝试使用它时,我得到"PHP Fatal error: Call to undefined function event_base_new()"

How do you install Libevent? 你如何安装Libevent?

Install Libevent for PHP 5.X 安装Libevent for PHP 5.X

sudo apt-get install libevent-dev
sudo pecl install libevent-beta

sudo su
sudo echo 'extension=libevent.so' > /etc/php5/mods-available/libevent.ini
exit

sudo ln -s /etc/php5/mods-available/libevent.ini /etc/php5/fpm/conf.d/
sudo ln -s /etc/php5/mods-available/libevent.ini /etc/php5/cli/conf.d/

sudo service php5-fpm restart

Install Libevent for PHP 7.X 安装Libevent for PHP 7.X

At this time pecl package libevent is not available for php 7 此时pecl包libevent不适用于php 7

https://pecl.php.net/package/libevent https://pecl.php.net/package/libevent

So let's compile it. 所以让我们编译它。

Download master: https://github.com/expressif/pecl-event-libevent 下载master: https//github.com/expressif/pecl-event-libevent

Unpack to: /tmp/install_libevent 解压缩到:/ tmp / install_libevent

cd /tmp/install_libevent/pecl-event-libevent-master
sudo phpize
sudo ./configure

After this step scroll our console window and try find any Warnings or Errors. 在此步骤之后滚动我们的控制台窗口并尝试查找任何警告或错误。 I got one warning - required to install re2c package. 我收到一条警告 - 需要安装re2c软件包。

sudo make
sudo make install

sudo su
sudo echo 'extension=libevent.so' > /etc/php/7.0/mods-available/libevent.ini
exit

sudo ln -s /etc/php/7.0/mods-available/libevent.ini /etc/php/7.0/fpm/conf.d/20-libevent.ini
sudo ln -s /etc/php/7.0/mods-available/libevent.ini /etc/php/7.0/cli/conf.d/20-libevent.ini

sudo service php7.0-fpm restart

I've successfully installed it. 我已经成功安装了它。 These are the steps: 这些是步骤:

apt-get install libevent-dev 
sudo pecl install libevent

Edit: Press enter when you are asked for the libevent installation directory (autodetect) 编辑:当您被要求提供libevent安装目录时,请按Enter键(自动检测)

; ; Add extension=libevent.so in the *.ini file where you desire to load it. 在您希望加载它的* .ini文件中添加extension=libevent.so For example if you want this extension to be loaded always, create a libevent.ini file where your php5 mods are (in my computer they are in /etc/php5/mods-available/ ) and write extension=libevent.so . 例如,如果您希望始终加载此扩展,请创建一个libevent.ini文件,其中您的php5 mods(在我的计算机中,它们位于/etc/php5/mods-available/ )并写入extension=libevent.so Enable this module then with php5enmod libevent . 然后使用php5enmod libevent启用此模块。 This page may help you. 页面可能对您有所帮助。

extension=libevent.so添加到php.ini。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM