2015-10-19 128 views
-2

我需要从.log文件中提取一些数据。我正在用awk做这件事,它工作正常 - 但现在我想将awk结果保存到变量中。我需要通过PHP为了打开一个终端窗口,并为此命令来获得我所需要的:如何在php中打开终端窗口

cat apache_access.log | awk '{print $1}' 

但我不知道如何做到这一点。任何人都可以告诉我如何打开连接到PHP以及如何将此命令的结果保存在变量中?

+0

这是有帮助的呢? https://github.com/Spudley/ApacheLogIterator – Simba

回答

1

请参考exec函数。

例子:

<?php 
// outputs the username that owns the running php/httpd process 
// (on a system with the "whoami" executable in the path) 
echo exec('whoami'); 
?> 
+0

你能否更详细地向我解释这一点? – Evolution48

0

如果你不想使用PHP来分析日志,你需要执行命令,并得到其输出。

可以使用http://php.net/manual/ru/function.proc-open.php或从symfony的该功能使用更加人性化友好图书馆(包装) - http://symfony.com/doc/current/components/process.html

+0

我仍然不明白如何在php中写入我的终端命令:/你能否以更详细的方式向我解释这一点? – Evolution48

+0

你不需要用php将smth写入终端,你需要执行命令(运行一个执行命令并获取命令输出的新进程)。请参阅第二个链接以获得更好的理解,它使用'ls'命令执行相同的操作。 Symfony库只是'proc_open'函数的一个包装器 – aeryaguzov