PHP日志时时查看小工具

  

以前的日志都是打印在一个文档中,然后打开文件夹,最后打开文档查看里面的内容,每次打开文件夹感觉很烦。

前些日子看到同事开发。净的时候,用他自己的一个小工具能够时时查看到日志的内容,非常方便,所以就想移植到PHP开发中。

,

一、查看效果

1,打开客户端小工具mylog。exe,在地址中输入localhost,端口输入5555点击开始链接,旁边屏幕会显示“开始监听”的字样。

,

2,打开日志。php页面页,面很朴素,就打印了一串字符。

,

3,查看mylog。exe,里面已接收到你好字符串

,

二,PHP代码

1)先要下载一个PHP版本的zmq。dll文件

1,打开链接http://pecl.php.net/package/zmq,点击某个版本的dll。

2,然后在php。ini中设置

3,日志。php中的代码,注意:这里使用的是发布-订阅模式,由php来发布,客户端小工具做订阅,下图是两者之间的关系。

 & lt; ? php ,,, context 美元;=,new  ZMQContext  (),,,,, publisher 美元;=,上下文→美元getSocket  (ZMQ:: SOCKET_PUB);,,,,出版商→美元bind  (tcp://*: 5555),,,,,睡眠,(1);
  ,,,出版商→美元send (“你好”),,,,,echo “已发送你好”;?在

,

,

三,客户代码

1,总共放了两个文件,客户中是可以直接运行的exe文件,mylog中是。net源码,用VS2010编辑的。打开客户端文件,只要点击mylog。exe就能打开小工具。

2, clrzmq.dll是。网中zmq的辅助dll文件,需要引入到源码中

3,在客户中做zmq的下标操作,接收并将数据打印出来。

<>之前,void  LogReceiver ()   ,,,,,,,{,,,,,,,,,,,using  (ZmqContext  ctx =, ZmqContext.Create ())   ,,,,,,,,,,,{,,,,,,,,,,,,,,,using  (ZmqSocket  sub =, ctx.CreateSocket (SocketType.SUB))   ,,,,,,,,,,,,,,,{   ,,,,,,,,,,,,,,,,,,,sub.Connect (“tcp://? +, address.Text  +,”:“, +, port.Text);   ,,,,,,,,,,,,,,,,,,,sub.SubscribeAll ();   ,,,,,,,,,,,,,,,,,,,sub.ReceiveReady  +=, (s), e),=比;   ,,,,,,,,,,,,,,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,string  log =, sub.Receive (Encoding.UTF8);   ,,,,,,,,,,,,,,,,,,,,,,,HandleLog(日志);   ,,,,,,,,,,,,,,,,,,,},,,,,,,,,,,,,,,,,,,,,var  poller =, new 轮询器(new  List< ZmqSocket>, {, sub }),,,,,,,,,,,,,,,,,,,,, while  (_recvgo)   ,,,,,,,,,,,,,,,,,,,{,,,,,,,,,,,,,,,,,,,,,,,试一试   ,,,,,,,,,,,,,,,,,,,,,,,{   ,,,,,,,,,,,,,,,,,,,,,,,,,,,poller.Poll ();   ,,,,,,,,,,,,,,,,,,,,,,,},,,,,,,,,,,,,,,,,,,,,,,,catch  (Exception 交货)   ,,,,,,,,,,,,,,,,,,,,,,,{      ,,,,,,,,,,,,,,,,,,,,,,,}   ,,,,,,,,,,,,,,,,,,,}      ,,,,,,,,,,,,,,,}   ,,,,,,,,,,,}   ,,,,,,,}

,

<强>在集成到实际项目中还会出现很多问题,我这里只是做个简单的演示展示一下。


PHP日志时时查看小工具