Zend \ Log \ Writer \ Stream是干扰shell输入

时间:2015-11-11 02:58:47

标签: php ubuntu logging zend-framework phpws

我正在使用Zend Framework的记录器来记录事件。

$logger = new \Zend\Log\Logger();
$writer = new Zend\Log\Writer\Stream("/path/to/debug.log");
$logger->addWriter($writer);

并将其记录为:

$logger->notice('Testing');

然后我在shell中运行PHP(作为后台进程):

(php /path/to/test.php &) 

php /path/to/test.php & disown

setsid php '/path/to/test.php'

但是当进程在后台运行后,每当它写入日志时,滑架(闪烁的输入点)移动到shell中的其他行,干扰我的输入。如何让记录器停止干扰shell输入?

完整代码如下:

require_once("vendor/autoload.php");
use Devristo\Phpws\Server\WebSocketServer;
$loop = \React\EventLoop\Factory::create();

// Create a logger
$logger = new \Zend\Log\Logger();
$writer = new Zend\Log\Writer\Stream("/path/to/debug.log");
$logger->addWriter($writer);

// Create WebSocket server
$server = new WebSocketServer("tcp://0.0.0.0:12345", $loop, $logger);
$loop->addPeriodicTimer(1.0, function() use($server, $logger){
    $string = get_information();
    //$logger->notice("Broadcasting to all clients: $string");
    if($string !== null) {
        foreach($server->getConnections() as $client) {
            $client->sendString($string);
        }
    }
});

// Bind the server
$server->bind();

// Start the event loop
$loop->run();

P.S。 get_information()只返回一个简单的字符串。

0 个答案:

没有答案