SlimFramework 3 输入和输出到 cli 而 运行
SlimFramework 3 input and output to cli while running
在普通的 php 脚本中,您可以这样做:
print "run in 3\n"
sleep(1);
print "run in 2\n";
sleep(1)
等等...
您获得输出并稍等片刻,您将获得下一个输出。
所以现在我 运行 一个在 cli 上带有 slimframework 的脚本:
$env = \Slim\Http\Environment::mock([
'REQUEST_METHOD' => 'GET',
'HTTPS' => true,
'SERVER_NAME' => 'www.domain.tld',
'REQUEST_URI' => '/cli_action'
]);
$settings['environment'] = $env;
...
$app->run();
它工作正常并完成工作(发送电子邮件)。
但是我第一次在 cli 上获得输出是在脚本结束时。
在 运行ning?
时是否有一个优雅的解决方案来获取输出 ( log-messages )
感谢您的帮助。
托马斯
Slim 默认使用输出缓冲。实例化新的 \Slim\App 对象时,通过将 outputBuffering
设置为 false
:
来禁用输出缓冲
$settings ['outputBuffering'] = false;
$app = new \Slim\App($settings);
在普通的 php 脚本中,您可以这样做:
print "run in 3\n"
sleep(1);
print "run in 2\n";
sleep(1)
等等... 您获得输出并稍等片刻,您将获得下一个输出。
所以现在我 运行 一个在 cli 上带有 slimframework 的脚本:
$env = \Slim\Http\Environment::mock([
'REQUEST_METHOD' => 'GET',
'HTTPS' => true,
'SERVER_NAME' => 'www.domain.tld',
'REQUEST_URI' => '/cli_action'
]);
$settings['environment'] = $env;
...
$app->run();
它工作正常并完成工作(发送电子邮件)。 但是我第一次在 cli 上获得输出是在脚本结束时。 在 运行ning?
时是否有一个优雅的解决方案来获取输出 ( log-messages )感谢您的帮助。
托马斯
Slim 默认使用输出缓冲。实例化新的 \Slim\App 对象时,通过将 outputBuffering
设置为 false
:
$settings ['outputBuffering'] = false;
$app = new \Slim\App($settings);