Как установить расширение 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
.