为了账号安全,请及时绑定邮箱和手机立即绑定

PHP Log时时查看小工具

标签:
PHP

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

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

 

一、查看效果

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


 

2、打开log.php页面,页面很朴素,就打印了一串字符。



 

3、查看mylog.exe,里面已接收到hello字符串


 

二、PHP代码

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

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

  

  2、然后在php.ini中设置

  

  3、log.php中的代码,注意:这里使用的是Publish-subscribe模式,由PHP来Publish,client小工具做subscribe,下图是两者之间的关系。


<?php    $context = new ZMQContext ();    $publisher = $context->getSocket (ZMQ::SOCKET_PUB);    $publisher->bind ("tcp://*:5555");    sleep(1);     $publisher->send ('hello');    echo '已发送hello';?>


   

 

三、Client代码

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

    

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

  3、在client中做zmq的sub操作,接收并将数据打印出来。


     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(log);                    };                    var poller = new Poller(new List<ZmqSocket> { sub });                    while (_recvgo)                    {                        try                        {                            poller.Poll();                        }                        catch (Exception ex)                        {                        }                    }                }            }        }


 

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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消