溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP Log時時查看小工具

發(fā)布時間:2020-07-28 16:58:37 來源:網(wǎng)絡(luò) 閱讀:198 作者:張濤澤 欄目:web開發(fā)

以前Log都是打印在一個文檔中,然后打開文件夾,最后打開文檔查看里面的內(nèi)容,每次打開文件夾感覺很煩。

前些日子看到同事開發(fā).NET的時候,用他自己的一個小工具能夠時時查看到Log的內(nèi)容,非常方便,所以就想移植到PHP開發(fā)中。

 

一、查看效果

1、打開客戶端小工具mylog.exe,在地址中輸入localhost,端口輸入5555,點(diǎn)擊開始鏈接,旁邊屏幕會顯示“開始監(jiān)聽”的字樣。

 

2、打開log.php頁面,頁面很樸素,就打印了一串字符。

 

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

 

二、PHP代碼

1)先要下載一個PHP版本的zmq.dll文件

  1、打開鏈接http://pecl.php.net/package/zmq,點(diǎn)擊某個版本的DLL。

  

  2、然后在php.ini中設(shè)置

  

  3、log.php中的代碼,注意:這里使用的是Publish-subscribe模式,由PHP來Publish,client小工具做subscribe,下圖是兩者之間的關(guān)系。

PHP Log時時查看小工具

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

PHP Log時時查看小工具

   

 

三、Client代碼

  1、總共放了兩個文件,client中是可以直接運(yùn)行的exe文件,mylog中是.NET源碼,用VS2010編輯的。打開client文件,只要點(diǎn)擊mylog.exe就能打開小工具。

    

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

  3、在client中做zmq的sub操作,接收并將數(shù)據(jù)打印出來。

PHP Log時時查看小工具

     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)
                        {

                        }
                    }

                }
            }
        }

PHP Log時時查看小工具

 

在集成到實(shí)際項目中還會出現(xiàn)很多問題,我這里只是做個簡單的demo展示一下。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI