【问题标题】:Trigger a Node.js event from PHP从 PHP 触发 Node.js 事件
【发布时间】:2012-11-30 22:06:13
【问题描述】:

我有一个 PHP 脚本正在运行,据说我想在某些 PHP 逻辑已经完成时触发 Node.js 向客户端触发一个事件,我应该怎么做? Node.js 部分尚未设置,但可能位于 PHP/Apache 以外的另一台服务器上,并被置于 Nginx 后面,该 Nginx 用作反向代理。

【问题讨论】:

  • 所以原始请求来自客户端并转到PHP,对吗?然后你想调用一些向客户端发送东西的 Node.js 代码?
  • 没错。假设如果用户从一个浏览器选项卡注销,我想向我网站的所有其他选项卡发出 Node.js 事件,以便客户端 JS 可以相应地更新与验证相关的代码。
  • 我不确定这是否可能。 “我想向我站点的所有其他选项卡发出 Node.js 事件”-您的站点没有“选项卡”。您的 PHP 服务器只知道原始请求。还是你在使用 websockets?
  • @Kay websocket 可以。 socket.io/docs

标签: php javascript apache node.js nginx


【解决方案1】:

试试:

<?php

$ch = curl_init();

$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');

curl_setopt($ch, CURLOPT_URL, 'http://localhost:8000/'); /* Node app*/
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>

评论:

http://php.net/manual/en/function.curl-setopt.php

【讨论】:

    【解决方案2】:

    你可以用你的 php 服务器连接到 node.js 服务器,是的。

    以本页的NodeLog类为例,

    http://gonzalo123.com/2011/05/09/real-time-monitoring-php-applications-with-websockets-and-node-js/

    这只是一天结束时的一个套接字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-10
      • 2019-07-26
      • 2016-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多