PHP后台任务运行

PHP后台任务运行,第1张

在运行前 先要了解一下 什么是文件描述符。

什么是文件描述符?

文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。

最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。

"2>&1 >file"和 ">file 2>&1"区别?

1.php test.php 2>&1 >file :错误输出到终端,标准输出被重定向到文件file。

2.php test.php >file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。

nohup命令可以在用户退出终端后仍然执行程序,

“2>&1 >/dev/null”表示不显示标准输出和错误输出,

最后的&表示推到后台执行。

用  ajax 实现异步加载

然后

i

gnore_user_abort(true) 

//即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 

set_time_limit(0) 

while(1) { 

$fp = fopen('time_task.txt',"a+") 

$str = date("Y-m-d h:i:s")."\n\r" 

fwrite($fp,$str) 

fclose($fp) 

sleep(5) //半小时执行一次 

}

进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:cd curl

执行phpize生成编译文件,phpize在PHP安装目录的bin目录下

/usr/local/php5/bin/phpize

运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and

the $PHP_AUTOCONF

environment variable is set correctly and then rerun this

script.,需要安装autoconf:

yum install autoconf(RedHat或者CentOS)、apt-get install

autoconf(Ubuntu Linux)

/usr/local/php5/bin/php -v

执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,

这里会报错,可以根据错误信息去排查!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11954619.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存