最近看到pecl上面还有扩展下载次数统计,想着给redis刷一刷下载次数把,本来是想用file_get_contents/curl模拟下载redis的安装包,但是觉得发起http完整请求对pecl官网造成流量压力,我只需要http协议连接上再关闭即可,不需要真正下载,于是有了下面的代码:
/**
* 刷redis_pv
*/
public function redis()
{
//版本列表
$versions = [
'4.5.4',
'4.5.3',
'4.5.2',
'4.4.1',
'4.5.1',
'4.5.0',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.8',
'4.4.7',
'4.4.6',
'4.4.5',
'4.4.4',
'4.4.3',
'4.4.2',
'4.3.6',
'4.4.1',
'4.4.0',
'4.3.5',
'4.3.4',
];
$url = 'https://pecl.php.net/get/redis-';
$i = 500;
while ($i--)
{
$version_key = array_rand($versions, 1);
$version_value = $versions[$version_key];
$new_url = $url . $version_value . '.tgz';
fopen($new_url, "r");
echo $new_url . PHP_EOL;
sleep(5);
}
} (1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...
在编写多进程的实例中我在每个进程中使用如下代码://调用等待信号的处理器 while (true) { pcntl_signal_dispatch(); }开启5个进程,cpu直接100%修正之后的代码://调用等待信号的处理器 while&...
【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1. <?php 2. $data = ['1', '2', &...
有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在...
本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask(1).安装tp5.0或者5.1composer create-project topthink/think=5.0.* tp5&n...
//设置客户端断开依然运行 ignore_user_abort(true); //设置脚本不超时 set_time_limit(0); //死循环每隔1秒访问一次网址 while (true) { sleep(1); &nb...