PHP中用简单征服复杂,fsockopen函数实现多进程并发

2022-10-11 22:02:27 151 0
魁首哥

哇,并发!好牛逼的需求!

当遇到这种需求我又不会,该肿么办?

我们有一个简单的思路以及一堆复杂的办法。今天教你简单的思路,以后随时能用。

想要复杂的办法呢,建议关注我的群(见结尾。。)

fsockopen()用来访问一个页面地址

其实PHP每一个页面就可以当作一个进程啊

或者有时会是线程(不告诉你为什么),但你不用管对你来说就是一个意思:实现并发!

那么如果一个PHP文件就是一个进程,我们把写好的一段逻辑保存为一个文件。

在另一个地方调用若干次,不就是并发调用?不就是多进程?

用啥调用?fsockopen()啊!

这么简单的思路还不懂?

就只好看例子了(两个超简单页面):

好,那么只要运行该页面,一秒之后就会创建一个文件对吧,不信你试试。

现在关键来啦!

就四五行,多的都是我的注释啊!

//页面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

收藏
分享
海报
0 条评论
151
上一篇:PHP从基础到入门(三) 下一篇:这些常见的PHP漏洞,如果你不知道,就别说自己是个攻城狮

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码