大家好,又见面了,我是全栈君。
结合用户的请求触发,可以实现计划任务
使用popen/pclose
函数原型
resource popen ( string $command , string $mode ) //打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生
- command :命令 mode:模式(”r”/”w”)
返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets(),fgetss() 和 fwrite()。 当模式为 ‘r’,返回的文件指针等于命令的 STDOUT,当模式为 ‘w’,返回的文件指针等于命令的 STDIN。
需要忽略输出,使新的进程在后台运行
pclose(popen("php test.php &", 'r'));
如果要同步使用的化类似下边这样的
//读取运行输出 $handle = popen('php '.APPPATH.'task/ldap.php '.$stuno.' '. (int)$understu, 'r'); $info = fread($handle,10000); pclose($handle);
使用curl
设置超时时间就行
CURLOPT_TIMEOUT 允许 cURL 函数执行的最长秒数
CURLOPT_TIMEOUT_MS可以设置毫秒级别的超时,但是注意下边
设置cURL允许执行的最长毫秒数。 如果 libcurl 编译时使用系统标准的名称解析器( standard system name resolver),那部分的连接仍旧使用以秒计的超时解决方案,最小超时时间还是一秒钟。
转载于:https://www.cnblogs.com/jcuan/p/6566321.html
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108616.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...