Назад | Перейти на главную страницу

Установка расширения libevent для php на Centos

Как установить расширение libevent для php на Centos 7?

Я провел много-много часов, пытаясь это сделать, много раз гуглил и действительно очень боролся, поэтому я собираюсь задокументировать свой собственный ответ на этот вопрос в надежде, что я помогу кому-то другому.

Сначала я попробовал на MAC, где я пытался что-то вроде:

phpize
sh autogen.sh
./configure && make
sudo make install

На самом деле я никогда не достигал этого, сталкиваясь с множеством ошибок, поэтому я установил Centos и использовал yum чтобы наконец заставить расширение работать. Если бы кто-нибудь мог объяснить и описанный выше метод, это было бы здорово.

php-pecl-event доступен через Репозиторий EPEL, построенный на стандартной версии PHP.

Включить EPEL:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Установите модуль PECL:

yum install php-pecl-event

Я перечислил все шаги, как если бы вы выбрали «минимальную установку» для Centos 7, таким образом я должен охватывать настройки большинства людей на Centos, поскольку не предполагается никаких зависимостей. Я не гуру Linux, поэтому некоторые шаги могут показаться ненужными.

Yum install net-tools. - Позволяет ifconfig проверять IP-адрес (полезно, если это локальная виртуальная машина).

Yum install php - Устанавливает php версии 5.4.16 (у вас может быть ошибка с PHP 5.5 и выше. Вы можете проверить, какая версия php будет установлена, запустив yum info php

Yum install php-mysql - Устанавливает mysql и расширения pdo, которые требуются php для многих вещей.

yum install php-pear - установить php-pear установка pear позволяет команду pecl.

Yum install php-devel - Для установки libevent вам понадобится команда phpize, она есть в php-devel.

Yum install gcc - Вам также понадобится компилятор C для установки libevent, который предоставляет gcc.

Yum install libevent-devel - Это устанавливает «заголовки» libevent, которые требуются для pecl install libevent.

Pecl install libevent - Это на самом деле приведет к ошибке, но полезно вместо этого указать URL-адрес канала, в настоящее время channel: //pecl.php.net/libevent-0.1.0

Pecl install channel://pecl.php.net/libevent-0.1.0 - Это последний шаг, который (надеюсь) установит libevent без ошибок.

Добавить extension=libevent.so к php.ini - Хотя libevent установлен, вам необходимо указать php, чтобы он ссылался на него при запуске.

Apachectl restart - Перезапускает apache / php

sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT - это разрешит соединения из веб-браузера.

Теперь можно проверить его наличие, выполнив "libevent", запустив <?php phpinfo(); ?> По умолчанию веб-файлы должны входить в /var/www/html.