php多线程抓取网页(推荐手册:php完全自学手册(pthreads)(组图))

优采云 发布时间: 2021-12-04 08:04

  php多线程抓取网页(推荐手册:php完全自学手册(pthreads)(组图))

  php中可以实现多线程,是利用老的exec函数通过异步处理实现多线程的一种方式。exec 函数本身是一个执行外部程序的php 函数。下面我们来详细看看php多线程的实现。

  推荐手册:php完全自学手册

  

  我们先来看一个例子

  当执行上述操作时,甚至在耗时处理结束之前显示处理完成。

  exec("php static_massive.php > /dev/null &");

  由于 ">/dev/null&" 返回的值缺失,我们不会等待响应。

  因此,处理完成指示比耗时处理更快。

  但是,这种方法不知道耗时的过程何时结束。

  不要忘记考虑日志的执行、登录DB等方式将执行结果交付给用户。

  多线程方法(pthreads)

  最后介绍了PHP扩展模块pthreads的使用方法。

  它可以比使用exec的上述方法更简单。

  ①配置环境并安装php

  请使用 vagrant 准备自己喜欢的环境。

  php需要使用线程安全的版本,是多线程和安全的实现。

  从官方网站下载线程安全版本的 PHP。

  访问下面的内容并从图片中的红色框中下载。

  

  此外,对于线程安全安装,您需要使用配置选项指定 -enable-maintainer-zts。

  ./configure --enable-maintainer-zts

  根据需要,您还可以安装 Apache 和 mysql 的选项。

  使用以下命令确认 php 版本。

  php -v

  ②pthreads的安装

  让我们下载zip格式。

  解压zip,移动到解压文件,执行phpize。

  如果您在 PHP 模块列表上运行 pthreads,您可以执行以下操作。

  php -m

  根据环境的不同,此块的设置会有所不同。可以用环境名+pthreads等方式搜索信息。

  ③尝试使用多线程

  例子如下

  因为 sleep(5) 被调用两次,需要10秒,但实际上会是5秒。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线