未找到类 ZMQContext

2024-01-11

我在 Ubuntu 14.04 的虚拟机内的 nginx 1.4.6 和 php 5.5 上运行 Web 服务器,并且需要安装 ZeroMQ 扩展。我已按照以下说明进行操作ZMQ http://zeromq.org/area:download(这部分在类 UNIX 系统上构建),按照说明添加php语言绑定here http://zeromq.org/bindings:php,根据我的 php 版本编译它并添加行

extension=zmq.so

to /etc/php5/cli/php.ini以及/etc/php5/fpm/php.ini,这是我唯一的.ini files.

重新启动后nginx and php-fpm the 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();被调用,我得到error信息:

未找到“ZMQContext”类”。

ZMQ 模块显然已在 cli 中正确加载,但由于某种原因,它在 php-fpm 中无法识别。我已经仔细检查过 fpmphp.ini已加载并且带有扩展名的线路就在那里。

我也有一个脚本push-server.php它在 Ratchet 循环中运行一个单独的 websocket 服务器,并侦听要推送给订阅者的传入消息:

<?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 中正确加载。

我已经尝试过建议的东西here https://stackoverflow.com/questions/20252657/class-zmqcontext-not-found-even-though-zmq-is-installed,但没有运气。有一个类似的问题here https://stackoverflow.com/questions/33071833/php-zmq-is-not-shown-on-phpinfo-page,但专注于 Windows 和 wamp 服务器,到目前为止还没有答案。

有谁知道为什么会发生这种情况?我们将不胜感激。


将 PHP 升级到 5.6 后问题消失,所有模块加载都没有问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未找到类 ZMQContext 的相关文章

  • PHP7构造函数类名

    我有一个 Laravel 4 2 应用程序 它可以与 PHP5 一起使用 没有任何问题 由于我安装了一个运行 PHP7 的新 vagrant box 一旦我运行一个模型 其中函数名称与类名称 关系函数 相同 就会出现错误 如下所示
  • PHP中如何识别服务器IP地址

    PHP中如何识别服务器IP地址 对于服务器 ip 来说是这样的 SERVER SERVER ADDR 这是港口的 SERVER SERVER PORT
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • PHP cURL 在本地工作,在 AWS 服务器上出现错误 77

    最新更新 脚本作为管理员用户通过 SSH shell 作为 php script php 成功运行 当由 nginx 用户运行时 curl 命令无法执行 https 请求 所以我猜测这是nginx用户无法正确使用curl的问题 我已经检查了
  • 如何在 Zend Framework 中处理移动设备?

    我接手了一个噩梦般的项目 我正在迁移一个写得很差的站点 并慢慢地将其迁移到 Zend Framework 应用程序中 不幸的是 我没有时间做补救工作 使这变得可以忍受 也许是一个或两个模型 我现在被告知该网站很快就会有移动版本 建议是克隆旧
  • 来自本地 XML 的模拟 SoapClient 响应

    我想用文件中的 XML 来模拟 SoapClient 的响应 我如何创建一个 stdClass 对象 就像 SoapClient 从文件返回一样 客户端已经包装了 SoapClient 因此可以轻松模拟响应 我的模拟是这样的 soapCli
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • PHP、jQuery 和 Ajax 调用乱序

    我正在使用 jQuery 进行 Ajax 调用 我有 x 数量的 Ajax 调用附加到 div 这些 Ajax 加载请求是由 PHP foreach 循环生成的 问题是它们渲染的顺序不正确 它们被设置在数组中
  • 模拟/存根在 PHPUnit 中实现 arrayaccess 的类的对象

    这是我正在为其编写测试套件的类的构造函数 它扩展了 mysqli function construct Config c store config file this gt config c do mysqli constructor pa
  • 选取散列第 N 个元素的最快方法

    我有一个大哈希表 带有字符串索引的数组 并正在寻找一个函数quickly从中选取第一个 理想情况下也是第 N 个 元素 array shift and reset 对于我的需求来说太慢了 UPDATE 我也不是在寻找基于引用的解决方案 该函
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • UTF-8、PHP、Win7 - 现在是否有解决方案可以使用 php 在 Win 7 上保存 UTF-8 文件名?

    更新 只是为了不让您阅读所有内容 PHP 开头 7 1 0alpha2 在 Windows 上支持 UTF 8 文件名 感谢阿纳托尔 贝尔斯基 根据 stackoverflow 上的一些链接 我找到了部分答案 https stackover
  • magento成功页面变量

    我正在尝试捕获一些 magento 成功页面变量以传递给我们的广告公司 到目前为止 我已经得到了这个 但变量没有输出任何内容 数据需要采用以下格式 price1 price2 price3 qty1 qty2 qty3 sku1 sku2
  • 更改API数据输出的布局

    我是 API 集成和 PHP 的新手 我最近将 VIN 解码器集成到我的应用程序中 在输入框中输入车辆的 VIN 选择提交 然后就会显示 API 数据库中有关该车辆的所有信息 数据存储为关联数组 其中包含类别及其相应元素 例如 对于 VIN
  • 使用 PHP 和 OAuth 访问 SkyDrive

    我想使用 PHP 访问 skyDrive 我想检索文件和文件夹列表 下载 上传和删除文件 我有一个 microsoft dev clientID 和 clientSecret 有人可以帮助我开始使用 OAuth 连接到 skyDrive 并
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队
  • 如何在 Carbon Laravel 中添加日期和另一个日期?

    在我的 laravel 项目中 我想将日期时间增加到前一个日期时间 这是我的代码 expire order 0 gt expire date new Carbon now gt addMonths 6 这两行的结果是 2018 01 28

随机推荐

  • Sublime Text 2 和终端

    所以我试图做到这一点 以便我可以通过 Sublime Text 文档给出的命令从终端启动 Sublime Text 2 ln s Applications Sublime Text 2 app Contents SharedSupport
  • 为什么使用 width:100% 使表格相对于窗口大小扩展会产生不需要的空间?

    我正在尝试创建一个网站 该网站将调整表格元素表格单元格相对于窗口大小的大小 以便它始终适合窗口 这是我所拥有的 table display table margin right auto margin left auto width 100
  • Rails 3.1:使用非空布尔 mysql 列保存记录时出现问题(false 保存为 NULL)

    使用 Rails 3 1rc5 和 devise 1 4 2 我在用户表上有以下列 add column users has dummy password boolean default gt false null gt false 如果没
  • Objective C 子类重写超类中的方法

    在 Objective C 中 如果您要子类化某些内容 并计划重写超类上的方法 是否应该在子类 interface 中重新声明超类方法 例如 如果您正在子类化 UIViewController 例如 MyViewController 并且您
  • 从集合创建数组时如何保持数据“反应性”

    我正在整合全日历 http arshaw com fullcalendar 在我的流星应用程序中 fullCalendar 需要特定的数据格式 http arshaw com fullcalendar docs event data 我可以
  • MSCHAPv2 与 RADIUS - 加密过程到底如何进行?

    我正在构建一个 RADIUS 服务器来与 node js 中的 MS CHAPv2 配合使用 我有一个 RADIUS 客户端 它是在访问请求中向我发送以下内容的 VPN 服务器 用户名 MS CHAP 挑战 MS CHAP2 响应 我使用实
  • 神经网络中的批量归一化

    我对 ANN 还很陌生 我刚刚阅读了批量归一化论文 http arxiv org pdf 1502 03167 pdf http arxiv org pdf 1502 03167 pdf 但我不确定我是否明白他们在做什么 更重要的是 为什么
  • Python 中的 While 循环替代方案

    我正在做一个巨大的工作dataframe并尝试根据另一列中的条件创建新列 现在我有一个大while loop而且这个计算需要太多时间 有没有更简单的方法 With lambda例如 def promo dataframe a i 0 whi
  • 是否可以检查广播是否以粘性模式发送?可以中止/删除它吗?

    是否可以检查广播是否以粘性模式发送 我们可以完全中止 删除粘性广播吗 如果是的话 那么普通广播和有序广播都可以这样做吗 In onReceive 您可以使用以下调用 isInitialStickyBroadcast 这将告诉您当前正在处理的
  • django:从外键获取对象

    假设以下模型类 class Bookmark models Model owner models ForeignKey UserProfile related name bookmarkOwner parent models Foreign
  • CasperJS按类获取元素的innerHTML

    我是 CasperJS 的新手 在获取 innerHTML 时遇到一些问题 p class city Data I Need p 我尝试了一些东西 但似乎什么也没有得到 var city name casper evaluate class
  • Python AES 加密,无需额外模块

    是否可以在不安装额外模块的情况下使用 AES 加密 解密数据 我需要从以下位置发送 接收数据C 它是用System Security Cryptography参考 UPDATE我尝试过使用 PyAES 但它太旧了 我更新了一些东西以使其发挥
  • 如果已经选择了第一个,则从第二个选择中删除选项

    我正在尝试制作一个体育博彩页面 用户需要选择哪两支球队进行比赛 所以 我有两个selects 我需要删除一个option从第二个select 因为一个团队不能自己比赛 以下是精选内容
  • 函数的返回值存储在哪里

    我读过一些关于堆栈 堆以及它们在程序执行中如何使用的文章 Here http www c sharpcorner com UploadFile rmcochran csharp memory01122006130034PM csharp m
  • 文件权限;我的 www-folder 内容应该归 www-data 所有吗?

    这可能是一个菜鸟问题 但在任何地方都找不到答案 我有一个问题 另一个文件权限问题 https stackoverflow com questions 3483832 another file permissions problem已经帮助我
  • 用 Python 解析化学公式

    我正在尝试解决这个问题 https leetcode com articles number of atoms approach 1 recursion accepted https leetcode com articles number
  • python str.index 时间复杂度

    为了找到字符串中子字符串的位置 需要一个简单的算法O n 2 时间 然而 使用一些有效的算法 例如KMP算法 https en wikipedia org wiki Knuth E2 80 93Morris E2 80 93Pratt al
  • 在Python中组合多个音频文件(带延迟)

    我希望在 Python 中组合一系列不同的音频文件 mp3 要求之一是我需要能够在每个文件的末尾指定延迟 为了说明这一点 例如 文件1 mp3 3秒 延迟 2秒 文件2 mp3 mp3 3秒 延迟 2秒 mp3 4秒 延迟 2秒 file3
  • 窃取焦点,因为 SetForegroundWindow 无法做到这一点

    我知道这听起来很邪恶 但我的意图根本不是这个 用户单击 延迟拍摄 并开始倒计时 在此期间他们会聚焦另一个应用程序 然后倒计时后用户希望我的应用程序重新获得焦点 SetForegroundWindow当它从 PID X 的应用程序运行而 PI
  • 未找到类 ZMQContext

    我在 Ubuntu 14 04 的虚拟机内的 nginx 1 4 6 和 php 5 5 上运行 Web 服务器 并且需要安装 ZeroMQ 扩展 我已按照以下说明进行操作ZMQ http zeromq org area download