草庐IT

php - 使用 zmq 和 composer 安装 Ratchet 库

我想在一个项目中实现推送通知,一个简单的聊天程序。我正在使用zmq和composer在本地wamp中安装棘轮库。这是以下使用来自http://socketo.me/docs/push的json{"autoload":{"psr-0":{"MyApp":"src"}},"require":{"cboden/Ratchet":"0.3.*","react/zmq":"0.2.*"}}报错Problem1-Installationrequestforreact/zmq0.2.0->satisfiablebyreact/zmq[v0.2.0].-react/zmqv0.2.0requirese

PHP CLI 进程在退出时永远挂起

我有一个在命令行上运行的PHP脚本,当脚本应该退出时,它却永远挂起。它发生在Windows和Linux上,因此它与操作系统无关。我已经尝试使用XDebug调试代码,进入最后的exit语句(也尝试过die但没有成功)。在一些对象上运行了几个析构函数之后,没有什么可以单步执行的了,这个过程只会永远等待。它什么都不做,不消耗任何资源。让进程退出的唯一方法是杀死它,例如Ctrl+C在我的所有脚本中都不会发生这种情况,但我有一个可以重现的案例。我不确定它是在我的代码、库代码(主要是Symfony、Doctrince等)中还是在PHP本身中。我已经使用strace运行脚本,输出的结尾附在下面。我不

php - 使用带有 voryx Thruway WAMP 消息传递系统的 php 发送消息

我正在尝试构建一个通知消息系统。我正在使用SimpleWsServer.php服务器示例。当服务器上的任务完成时,我想向用户的浏览器推送通知。这需要使用PHP完成,我找不到显示此内容的教程。所有教程似乎都显示了在PHP服务器作为管理器运行时发送和接收的tavendo/AutobahnJS脚本。是否可以使用php脚本向订阅者发送消息? 最佳答案 天文,这实际上非常简单,可以通过几种不同的方式完成。我们将高速公路客户端设计为模仿AutobahnJS客户端,因此大多数简单示例将直接翻译。我假设您想从网站(不是长时间运行的php脚本)发布。

php - React/Ratchet/ZMQ 中多个订阅方法的最佳实践

我尝试构建一个小型实时websocket用例,用户可以在其中登录并查看所有其他登录用户,在新用户登录或现有用户注销时收到通知。对于这种情况,当用户登录或注销时,我在我的UserController中使用ZMQPUSHSocket。用户Controllerpublicfunctionlogin(){//...hereistheauthcode,modelcalletc...$aUserData=array();//userdatacomesfromthedatabasewithusername,logintime,etc....$context=new\ZMQContext();$oSo

php - Mac Yosemite 上的 ZeroMQ PHP

我尝试在MacOSYosemite上使用ZeroMQ和PHP。我尝试通过Composer安装它,下面是我不断收到的错误消息Problem1-react/zmqv0.3.0requiresext-zmq*->therequestedPHPextensionzmqismissingfromyoursystem.-react/zmqv0.2.0requiresext-zmq*->therequestedPHPextensionzmqismissingfromyoursystem.-Installationrequestforreact/zmq0.2.*|0.3.*->satisfiableb

php - 如何在 HTTP 请求和 cli 类对象之间进行对话

我有一个正在运行的应用程序,它列出了HTTP请求。每个请求都传递到单个页面,其中实例化了一个框架对象$app,这负责路由/Controller/模型等。现在我有另一个类,它的对象是通过实例化的。一个CLI脚本可以调用它$cliApp现在的问题是我如何让两个对象相互交谈。每次有新请求时,$app都会被实例化。但是$cliApp只在脚本运行时实例化一次。此脚本通过PHPReactEventloop的$loop对象循环运行.CliApp正在运行websockets。所以基本上我希望通过http和套接字进行通信。http接口(interface)。附言:现在我有一个使用消息队列的解决方案,例如

php - ZeroMQ PUB/SUB 不适用于 PHP

我目前正在处理一个相当大的数据处理任务,需要拆分和分配处理。我有一个使用ZeroMQ的PUSH/PULL机制的完整工作流水线原型(prototype)-正在发送“处理”数据并完成OK。但是,一旦数据被扇出并且处理完成,我需要指示工作人员(在while/true循环中运行)终止。我认为为此使用ZMQ的PUB/SUB机制是明智的。但是,工作人员没有收到任何控制消息。令人沮丧的是,如果我切换到PUSH/PULL机制,工作人员会收到消息并正确终止。我从这里复制了一些原型(prototype)代码:http://pastebin.com/myZyWQ1E您可以看到生产者(向工作人员发送数据的位)

php - 在 Apache 中的 PHP 脚本中使用 ZeroMQ

我想使用ZeroMQ发布者/订阅者将数据从我的Web应用程序发送到多个服务器。我使用Apache和PHP作为网络应用程序,我的php脚本工作如下://Initialization$context=newZMQContext();$publisher=$context->getSocket(ZMQ::SOCKET_PUB);$publisher->bind("tcp://*:5556");//Thenpublishingfortesting:$publisher->send("test");$publisher->send("test");$publisher->send("test")

php-zmq 未显示在 phpinfo() 页面上

我在Windows上使用Wamp服务器并安装了zmq库。当我在控制台上编写php--info时,我看到zmq显示为已安装。zmqZMQextension=>enabledZMQextensionversion=>1.1.2libzmqversion=>3.2.2但是当我用phpinfo()函数创建一个php页面来显示php配置时,它没有显示任何关于zmq的信息。另外,它无法找到ZMQContext和其他ZMQ类,如ZMQSocket。我猜它还没有完全安装好,但我不知道该怎么做了。我已经用所需信息修改了两个php.ini文件。C:\wamp\bin\php\php5.5.12\php.i

java - ZeroMQ:如何实现类C的多线程

在C中,我们有套接字和描述符,可以只获取其中之一并将它们交给线程,这使得您可以接受传入连接并将工作交给您喜欢的线程和线程可以自己发送回响应。我的问题是,如何使用ZeroMQ实现这一点?使用Request-Reply模式,我似乎无法异步发送和接收,响应必须按顺序进行,我的目标是让多个客户端连接到单个服务器,不按顺序发送响应。我查看了请求响应模式,但API明确指出,将套接字与多个线程一起使用是个坏主意。也许我错过了什么或者ZeroMQ比我知道的更聪明。如果您需要任何进一步的信息,请发表评论,我会尽力提供信息。我还查看了提供的示例:CodeExamples这是套接字描述:ZMQ-Socket