Класс ZMQContext не найден

Я запускаю веб-сервер на nginx 1.4.6 и php 5.5 внутри виртуальной машины с Ubuntu 14.04 и вам нужно установить расширение ZeroMQ. Я выполнил инструкции по ZMQ (раздел « Построить на UNIX-подобных системах» ), добавил привязку языка php, как указано здесь , скомпилировал его против моей версии php и добавил строку

extension=zmq.so 

на /etc/php5/cli/php.ini а также на /etc/php5/fpm/php.ini , которые являются моими только .ini файлами.

После перезапуска nginx и php-fpm php -i показывает следующее:

 $ php -i | grep -i zmq zmq ZMQ extension => enabled ZMQ extension version => @PACKAGE_VERSION@ libzmq version => 4.0.4 

Таким образом, модуль ZMQ устанавливается в cli, но когда я посещаю страницу с phpinfo(); Я не вижу раздел конфигурации модуля ZMQ и когда я обращаюсь к странице, где код $context = new \ZMQContext(); , я получаю сообщение об ошибке :

Класс «ZMQContext» не найден ».

Модуль ZMQ, очевидно, правильно загружен в cli, но по какой-то причине он не распознается в php-fpm. Я дважды проверил, что загружен fpm php.ini и что существует линия с расширением.

У меня также есть скрипт push-server.php который запускает отдельный сервер websocket в цикле с Ratchet и слушает, что входящие сообщения должны быть переданы подписчикам:

 <?php require dirname(__DIR__) . '/vendor/autoload.php'; require dirname(__DIR__) . '/app/libs/Pusher/Pusher.php'; $loop = React\EventLoop\Factory::create(); $pusher = new App\Libs\Pusher\Pusher; // my own pusher implementation $context = new React\ZMQ\Context($loop); $pull = $context->getSocket(ZMQ::SOCKET_PULL); $pull->bind('tcp://127.0.0.1:5555'); $pull->on('message', [$pusher, 'onMessageEntry']); $pull->on('subscribe', [$pusher, 'onSubscribe']); $webSock = new React\Socket\Server($loop); $webSock->listen(8099, '0.0.0.0'); $webServer = new Ratchet\Server\IoServer( new Ratchet\Http\HttpServer( new Ratchet\WebSocket\WsServer( new Ratchet\Wamp\WampServer( $pusher ) ) ), $webSock ); $loop->run(); - <?php require dirname(__DIR__) . '/vendor/autoload.php'; require dirname(__DIR__) . '/app/libs/Pusher/Pusher.php'; $loop = React\EventLoop\Factory::create(); $pusher = new App\Libs\Pusher\Pusher; // my own pusher implementation $context = new React\ZMQ\Context($loop); $pull = $context->getSocket(ZMQ::SOCKET_PULL); $pull->bind('tcp://127.0.0.1:5555'); $pull->on('message', [$pusher, 'onMessageEntry']); $pull->on('subscribe', [$pusher, 'onSubscribe']); $webSock = new React\Socket\Server($loop); $webSock->listen(8099, '0.0.0.0'); $webServer = new Ratchet\Server\IoServer( new Ratchet\Http\HttpServer( new Ratchet\WebSocket\WsServer( new Ratchet\Wamp\WampServer( $pusher ) ) ), $webSock ); $loop->run(); 

После выполнения php push-server.php он работает без ошибок, поэтому модуль ZMQ правильно загружается в cli.

Я уже пробовал вещи, предлагаемые здесь , но не повезло. Здесь есть аналогичный вопрос, но он ориентирован на Windows и Wamp Server, и до сих пор без ответа.

Кто-нибудь знает, почему это происходит? Он будет высоко оценен.

Related of "Класс ZMQContext не найден"

Проблема исчезла после обновления PHP до 5.6, все модули загружаются без проблем.