我们有一个大略的思路以及一堆繁芜的办法。本日教你大略的思路,往后随时能用。
想要繁芜的办法呢,建议关注我的群(见结尾。。)
fsockopen()用来访问一个页面地址
实在PHP每一个页面就可以当作一个进程啊
或者有时会是线程(不见告你为什么),但你不用管对你来说便是一个意思:实现并发!
那么如果一个PHP文件便是一个进程,我们把写好的一段逻辑保存为一个文件。
在另一个地方调用多少次,不便是并发调用?不便是多进程?
用啥调用?fsockopen()啊!
就只好看例子了(两个超大略页面):
<?php
//页面1:创建一个文件p1.php
sleep(1);//我睡一秒钟啥也不做,为啥?任性!
$num = @$_REQUEST['num'];//如果有人传一个num值,哥们我存起来!
@是为了为空也不会提示啥
fopen(\"大众x$num.txt\公众, 'a');//我在当前目录创建一个文件,名字便是x加上num这个
好,那么只要运行该页面,一秒之后就会创建一个文件对吧,不信你试试。
现在关键来啦!就四五行,多的都是我的注释啊!
<?php
//页面2:并行调用页面1二十次!
p2.php
for($i=0;$i<20;$i++){
$handler=fsockopen('localhost',80);//这个函数定义访问的地址是当前主机,端口号80要写啊,保存为‘痛处’下边用
$uri = \"大众/p1.php?num=$i\"大众;//我们要访问的目标文件!
/斜线是根目录,get办法传值,这个你不会要好好和我学学了
$http = \公众GET $uri HTTP1.1\r\n\r\n\r\n\"大众;//这行字符串是HTTP协议,便是要求一个地址必须的格式,\r\n是换行,也便是说,后边啥都不写也要三个换行
$re=fwrite($handler,$http);//好了,往上边打开的主机目标写个符合格式的字符串,便是发送HTTP要求了,棒不?
}
现在看看你文件夹下是不是多了二十个新文本?
由于我们的p1是等1秒才运行,以是如果不是并发,你就须要20秒,而现在,我们在1秒多一点儿就搞定,不信你删了再试!
如果亲爱的你喜好我这个风格,那咱俩投缘!
鼓励我我会写更多,转发!
点赞!
如果想学更多,加入我个人的新群(大概你会收成师父一枚哈哈!
):129120971