最近看到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);
}
} 上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...
php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int { &nb...
<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...