如何使用 php 管道 rake 输出?
我正在构建一个 RAKEFILE,我想在执行时在 php 生成的页面上显示输出。
我尝试使用 system()
因为 PHP 文档提到了这一点:
如果 PHP 作为服务器模块运行,则 system() 调用还会尝试在每行输出后自动刷新 Web 服务器的输出缓冲区。
这似乎适用于多个 shell 命令,但当我执行 rake 时,我只得到第一行:
(in /Users/path/to/proj)
有什么想法吗?
干杯!
I'm building a RAKEFILE and I want to display the output on a php generated page as it gets executed.
I tried using system()
since the PHP docs mention this:
The system() call also tries to automatically flush the web server's output buffer after each line of output if PHP is running as a server module.
This seems to work with multiple shell comands but when I execute rake I only get the first line:
(in /Users/path/to/proj)
Any ideas?
Cheers!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试使用 exec() 函数
$output 是一个数组
或简单的:
Try use exec() function
$output is an array
or simple:
这意味着您只能从返回值中获得最后一行输出。 system() 手册页中的示例显示了这一点,并建议使用 passthru() 来获取原始输出。不过我通常使用 exec() 。
This means you would only get the last line of output from the return value. The example in the system() manual page shows that and it suggests to use passthru() to get raw output. I usually use exec() though.
原来这两个函数
system()
&exec()
确实有效。但不考虑使用 --verbose 时生成的 rake 输出。这就是为什么我很困惑。如果有人对区别有更广泛的了解,请分享:)Turs out both functions
system()
&exec()
actually work. The generated rake output when using --verbose isn't taken into consideration though. That's why I was confused. If anyone has more extensive knowledge on the distinction, do share :)