簡體   English   中英

顯示Apache當前正在運行的PHP腳本

[英]Show which php scripts Apache is currently running

當我從Linux命令行運行ps -ef ,我沒有看到Apache Web用戶當前正在運行的PHP腳本,我只是將進程視為:

/usr/bin/php5-cgi -q -b 127.0.0.1:9000 -c /etc/php5/cgi/php.ini

是否有一個命令行將顯示正在運行哪個腳本,而不僅僅是Apache用戶使用php的事實?

您可以使用lsof獲取當前工作目錄和打開的文件。 遺憾的是,這不包括正在運行的腳本,但如果腳本位於不同的目錄中,或者打開不同的文件,則可以區分它們。 例如,以下顯示/ var / www / stuff / php中的腳本正在運行:

sudo lsof -c http | grep cwd
httpd   24475  id  cwd DIR 8,3     4096 1123403 /var/www/stuff/php

您可以配置apache以獲取信息。 添加一個條目

<Location /server-status>
    SetHandler server-status
    ...
</Location>

在您的conf中確保它僅適用於受限制的遙控器。 然后瀏覽到http://localhost/server-status ,您將擁有正在運行的作業的“ps”。 例如,此輸出顯示gg.php正在運行(我刪除了一些列):

Srv PID     Acc     M CPU     SS Slot Client  VHost  Request
0-0 23688   0/0/262 W 0.50    2  4.48 ::1     xxx:80 GET /php/gg.php HTTP/1.1
1-0 23743   0/0/187 W 0.00    0  3.30 ::1     xxx:80 GET /server-status HTTP/1.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM