PHP 引擎的实时日志



有什么方法可以在线观看php活动吗?我正在寻找类似 apache 日志的东西,我可以在终端中运行tail -f /var/log/httpd/access.log,然后在浏览器中打开 URL,看看 apache 打印了什么。

所以,我正在为php网页寻找类似的东西。php 是 7.2

UPDATE1:

尝试使用tail -f /var/log/messages观看系统日志,当从浏览器重新加载页面时,我在终端中收到许多与此类似的消息。

python: SELinux is preventing /usr/sbin/httpd from write access on the directory /var/www/html/ow_userfiles/plugins/admin.#012#012*****  Plugin httpd_write_content (92.2 confidence) suggests   ***************#012#012If you want to allow httpd to have write access on the admin directory#012Then you need to change the label on '/var/www/html/ow_userfiles/plugins/admin'#012Do#012# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/ow_userfiles/plugins/admin'#012# restorecon -v '/var/www/html/ow_userfiles/plugins/admin'#012#012*****  Plugin catchall_boolean (7.83 confidence) suggests   ******************#012#012If you want to allow httpd to unified#012Then you must tell SELinux about this by enabling the 'httpd_unified' boolean.#012#012Do#012setsebool -P httpd_unified 1#012#012*****  Plugin catchall (1.41 confidence) suggests   **************************#012#012If you believe that httpd should be allowed write access on the admin directory by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'httpd' --raw | audit2allow -M my-httpd#012# semodule -i my-httpd.pp#012

这是一个丑陋的信息!我想我必须用一些路径跑semanage fcontext -a -t。不确定到底是哪条路径!

UPDATE2:

以下命令提供了更清晰的日志

[root@localhost html]# sealert -l e254cabb-7005-4a3c-8f91-8620c924c5e0
SELinux is preventing /usr/sbin/httpd from write access on the file /var/www/html/ow_includes/config.php.
*****  Plugin httpd_write_content (92.2 confidence) suggests   ***************
If you want to allow httpd to have write access on the config.php file
Then you need to change the label on '/var/www/html/ow_includes/config.php'
Do
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/ow_includes/config.php'
# restorecon -v '/var/www/html/ow_includes/config.php'
*****  Plugin catchall_boolean (7.83 confidence) suggests   ******************
If you want to allow httpd to unified
Then you must tell SELinux about this by enabling the 'httpd_unified' boolean.
Do
setsebool -P httpd_unified 1
*****  Plugin catchall (1.41 confidence) suggests   **************************
If you believe that httpd should be allowed write access on the config.php file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -i my-httpd.pp

Additional Information:
Source Context                system_u:system_r:httpd_t:s0
Target Context                unconfined_u:object_r:httpd_sys_content_t:s0
Target Objects                /var/www/html/ow_includes/config.php [ file ]
Source                        httpd
Source Path                   /usr/sbin/httpd
Port                          <Unknown>
Host                          localhost.localdomain
Source RPM Packages
Target RPM Packages
Policy RPM                    selinux-policy-3.13.1-192.el7_5.6.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     localhost.localdomain
Platform                      Linux localhost.localdomain
3.10.0-862.11.6.el7.x86_64 #1 SMP Tue Aug 14
21:49:04 UTC 2018 x86_64 x86_64
Alert Count                   108
First Seen                    2018-09-02 16:51:25 +0430
Last Seen                     2018-09-02 23:00:19 +0430
Local ID                      e254cabb-7005-4a3c-8f91-8620c924c5e0
Raw Audit Messages
type=AVC msg=audit(1535913019.143:9913): avc:  denied  { write } for  pid=5121 comm="httpd" name="config.php" dev="dm-0" ino=18219610 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=file

Hash: httpd,httpd_t,httpd_sys_content_t,file,write

这是一个SELinux问题,从日志消息中可以明显看出...

SELinux is preventing /usr/sbin/httpd from write access on the directory /var/www/html/ow_userfiles/plugins/admin.#012#012*****  
...
If you want to allow httpd to have write access on the admin directory
Then you need to change the label on '/var/www/html/ow_userfiles/plugins/admin'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/ow_userfiles/plugins/admin'
restorecon -v '/var/www/html/ow_userfiles/plugins/admin'

从第一个错误开始,完全按照它所说的去做......看看这是否能解决其他错误。

如果在运行这些命令后仍然存在其他错误,请按照显示的非常清晰的错误消息中的说明进行操作。

这是我笔记中的一个 php « 尾巴»可以玩。

它类似于尾巴 -n 5 访问.log

这将回答最后 5 行访问.log

要使其像尾巴 -f一样,只需使用循环即可。

$check = "access.log";
$end = "5";
$fp= fopen($check, "r");
$count=0;
while($line = fgetss($fp))
$count++;
// echo "Total lines ".$count.PHP_EOL;
fclose($fp);
$start = $count - $end;
$file = new SplFileObject($check);
$file->seek($start);
for($i = 0; !$file->eof() && $i < $end; $i++) {
echo $file->current(); 
$file->next();
}

它也非常快,整个文件不会像尾巴一样被占用在内存中。

SplFileObject

最新更新