2015-10-19 90 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