注意
1、pthread 3只能在命令行内执行,其使用的是php-cli.ini的配置
2、以下出现的目录、文件路径须根据实际填写
环境+需求
Windows
php7.0
安装php7.0(这里使用免安装版本)
1、下载php7.0版本压缩包,并解压存放(D:/php7.0ts)
由于之后需要扩展pthread,故选择ts的版本(线程安全),如:
php-7.0.0-Win32-VC14-x64.zip x64 => 64位系统
php-7.0.0-Win32-VC14-x86.zip x86 => 32位系统
2、修改7.0的配置文件php.ini;文件中找到extension_dir,开启应用并设置值,如下
extension_dir = "D:\php7.0ts\ext" #注:路径为php7.0的扩展目录
php7.0下载路径:https://windows.php.net/downloads/releases/archives/
pthread的扩展
1、下载对应php版本的pthread扩展压缩包并解压;解压后,会发现php_pthreads.dll和pthreadVC2.dll这两个文件
2、将pthreadVC2.dll放到php7.0的根目录下(D:/php-7.0ts/)
3、将php_pthreads.dll放到php7.0的扩展目录下(C:/php7.0ts/ext)
4、复制配置文件php.ini,并改名为php-cli.ini,在php-cli.ini中加入pthread扩展
extension=php_pthreads.dll
pthread下载路径:https://windows.php.net/downloads/pecl/releases/pthreads/
命令行执行程序
1、需运行的文件路径:D:/pthread.php
pthread.php测试代码:
<?php
class MyThread extends Thread {
private $counter;
public function __construct($counter) {
$this->counter = $counter;
}
public function run() {
for($i = 1; $i <= $this->counter; $i++) {
echo "Thread", $this->getThreadId(), ": ", $i, PHP_EOL;
}
}
}
$t1 = new MyThread(5);
$t2 = new MyThread(10);
$t1->start();
$t2->start();
$t1->join();
$t2->join();
echo "Main Thread Exit", PHP_EOL;
?>
2、php7.0根目录下,执行如下命令:
php D:\pthread.php