未找到类 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 的相关文章

  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 用户可以更改 PHP 中 $_SESSION 的值吗?

    这是我的想法 我想知道是否可能 将信息存储在 PHP 的 SESSION 变量中有多安全 在 SESSION 变量中存储变量有两个潜在的 不安全 风险 另一个答案所描述的第一个称为 会话固定 这里的想法是 由于会话 ID 存储在 cooki
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Xdebug V3 不会停止 VSCode 中的断点

    我正在尝试使用 VSCode 在 XAMPP 上进行调试 但没有成功 我知道有很多关于这个的问题 我已经尽了一切努力 但仍然行不通 我的 xdebug 扩展确实有一件奇怪的事情 我目前使用 PHP v7 4 12 和 Xdebug 版本 3
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • PHP 表单 - 带验证蜜罐

    我有以下内容 效果很好 但对垃圾邮件机器人开放 我想放入蜜罐 而不是验证码 下面的代码适用于验证姓名 电子邮件 消息 但我无法让它与蜜罐一起工作 任何人都可以查看 蜜罐 代码并告诉我如何修复它吗 我希望表单给出 success2 不允许垃圾

随机推荐

  • 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