@AlerX

Pecl пакет EvTimer не работает, почему?

Хочу сделать EvTimer в php, установил pecl, и сам пакет ev.
При запуске программы:
код:
$w1 = new EvTimer(2, 0, function () {
    echo "2 секунды прошло\n";
});

Выдает ошибку
PHP Fatal error:  Uncaught Error: Class 'EvTimer' not found in /root/dd/index.php:2
Stack trace:
#0 {main}
  thrown in /root/dd/index.php on line 2
  • Вопрос задан
  • 782 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Не установилось расширение как нужно.
В ошибке написано, что класс EvTimer не найден.
Проверьте в /etc/php7/php.ini и /etc/php7/cli/php.ini что есть строка extension="ev.so" и сам файл ev.so на диске в папке расширений.
Ev::run(); ниже не забудьте.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@cat_crash
$w1 = new \EvTimer(2, 0, function () {
echo "2 секунды прошло\n";
});
namespace забыли
Ответ написан
@echo_ae
Мне помогло дописать "extension=ev" последней строкой в файл /etc/php.d/20-sockets.ini

Получилось:
; Enable sockets extension module
extension=sockets
extension=ev

И после - systemctl restart php-fpm
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы