本文目录一览:
请问php如何实现实时监控文件.
在服务端建立一个根据需要进行循环的PHP脚本就可以。
猜测一下,您的第二个问题,是不是想进行相关检测以避免重复触发这个脚本。
实际上,不建议由用户行为触发这个脚本,无论是服务端代码,还是客户端的异步Ajax。
如果要用PHP脚本进行不停的循环监控,请联系运维人员,服务器启动,即在服务端开始运行这个脚本,他们会向您提供解决方案的。
真正的建议是,如果有任何可能,都不要使用PHP脚本利用循环代码进行服务端的监控。
不得不承认,这个方面PHP的稳定性还差一些,Java或许可以这么做,PHP就比较痛苦了。
比较可能的办法是请运维人员帮忙,通报监控逻辑,然后请他安装各种触发条件调用相应的PHP代码。
如果坚持使用PHP脚本进行相关工作,有两个建议给您:
尽快释放资源,无论脚本使用了什么资源,包括文件、内存、数据库等等,都尽快释放,这种地方可万万不能偷懒,否则就是自虐了。
在这个脚本中进行独立的手工日志输出,任何一层循环的入口都要进行记录,这样在监控失败的时候才有办法查找问题。
php脚本程序主要由哪几个部分组成?
运行PHP脚本程序,必须借助PHP预处理器、WEB服务器和WEB浏览器,必要时还需借助数据库服务器。
1.WEB浏览器
也叫网页浏览器,简称浏览器。常见的浏览器有微软的Internet Explorer(IE)浏览器、Mozilla的Firefox浏览器等。
2.PHP预处理器
PHP Preprocessor的功能是将PHP程序中的代码解释为文本信息,这些文本信息中可以包含HTML代码。
3.WEB服务器
WEB Server也称为WWW(World Wide Web)服务器,功能是解析HTTP。当WEB服务器接收到浏览器的一个HTTP动态请求时,Web服务器会调用与请求对应的程序,程序经PHP预处理器解释执行后,WEB服务器向浏览器返回HTTP响应,该响应通常是一个HTML页面。浏览器收到该HTTP响应后,将执行结果显示在浏览器上。
常见的WEB服务器有微软的Internet Information Server(IIS)服务器、IBM的WebSphere服务器、开源的Apache服务器等。IIS中文全称是互联网信息服务器。
WEB浏览器请求的是静态页面,只需要WEB服务器响应该请求;如果浏览器请求的是动态页面(php代码),此时WEB服务器会委托PHP预处理器将动态页面解释为HTML静态页面,再有WEB服务器返回给浏览器显示。
4.数据库服务器
Database Server是一套为应用程序提供数据管理的服务软件,服务包含数据的添加、修改、删除、事务管理、索引服务、高速缓存、查询优化、安全及存储控制等。
常见的数据库服务器有甲骨文的Oracle、微软的SQL Server、IBM的DB2、SAP的Sybase以及SUN公司的MySQL等。
如何将我的php脚本以守护进程的方式一直运行
用一个简单可靠的Shell脚本来守护一个可能会突发退出的PHP服务
/etc/rc.local 里加入开机启动命令:
nohup /path/to/swoole.sh /path/to/swoole.sh.log 21
swoole.sh 内容如下:
#!/bin/sh
PREFIX=/home/eechen
INTERVAL=1
nohup php ${PREFIX}/swoole.php ${PREFIX}/swoole.log 21 echo $! ${PREFIX}/swoole.pid
while [ 1 ]; do
if [ ! -d /proc/`cat ${PREFIX}/swoole.pid` ]; then
nohup php ${PREFIX}/swoole.php ${PREFIX}/swoole.log 21 echo $! ${PREFIX}/swoole.pid
echo 'NEW_PID:'`cat ${PREFIX}/swoole.pid date '+%Y-%m-%d %H:%M:%S'`
fi
sleep ${INTERVAL}
done
如何判断一个php脚本是否正在执行
你可以在php文件最后输出一个东西么,因为程序一般都是顺序执行的。你可以在程序的最后输出一个标记,如果这个标记出现了就可以再执行了,如果还没有标记,说明还在执行。
PHP脚本程序主要由哪几部分组成?
视图部分,显示表单的界面
模型部分,存储表单提交的数据
控制部分,接收表单数据,进行相关处理。
mvc结构,主要是将显示,业务逻辑处理,数据持久化进行分离,php主要做的就是接收数据,处理数据,保存数据。