Its*_*Dom 15 php multithreading pthreads
我在我的网络服务器上使用php5.5.现在我想使用pthreads.这是我的php配置:http://dd19010.kasserver.com/infophp.php55
实现此代码后......
<?php
class AsyncOperation extends Thread
{
public function __construct($threadId)
{
$this->threadId = $threadId;
}
public function run()
{
printf("T %s: Sleeping 3sec\n", $this->threadId);
sleep(3);
printf("T %s: Hello World\n", $this->threadId);
}
}
$start = microtime(true);
for ($i = 1; $i <= 5; $i++) {
$t[$i] = new AsyncOperation($i);
$t[$i]->start();
}
echo microtime(true) - $start . "\n";
echo "end\n";
?>
Run Code Online (Sandbox Code Playgroud)
...问题是这个错误:致命错误:找不到类'Thread'.我是否必须包含一些include_once或类似的东西以使其工作?我需要做什么??
嗨,我遇到了这个问题,并设法解决它.
首先,考虑PHP的VC版本和VC版本的扩展.我在http://windows.php.net/downloads/pecl/releases/pthreads/附加了pthreads.dll版本VC14 的扩展,但我的PHP VC版本是VC11.寻找较低版本以匹配PHP的VC版本.
其次,也许你错过了PHP页面的第3步.它声明您需要将其复制pthreadVC2.dll到不同的文件夹.这是完整的说明.
通过使用phpinfo()找出你的'PHP Extension Build'版本.你可以使用它 - http:// localhost /?phpinfo = 1
下载与您的php版本(32位或64位)和php扩展版本(当前使用的VC11)匹配的pthread.使用此链接进行下载 - http://windows.php.net/downloads/pecl/releases/pthreads/
解压zip - 将php_pthreads.dll移动到'bin\php\ext \'目录.将pthreadVC2.dll移动到'bin\php \'目录.将pthreadVC2.dll移动到'bin\apache\bin'目录.将pthreadVC2.dll移动到'C:\ windows\system32'目录.
打开php\php.ini并添加extension = php_pthreads.dll
参考:https://secure.php.net/manual/en/pthreads.installation.php
1)创建一个php文件
phpinfo();--> 运行
示例:Info
PHP 版本:5.6.31
编译器:MSVC11 (Visual C++ 2012)
架构:x64
2) 访问网站:
http : //windows.php.net/downloads/pecl/releases/pthreads/
Example 2.0 .9 文件
编译器:VC11
架构:x64
php_pthreads-2.0.9- 5.6 -ts- vc11 - x64 .zip 下载。
3)解压php_pthreads.dll和pthreadVC2.dll。
wamp\bin\php\php 5.6 .31\ext\ -->复制 php_pthreads.dll
wamp\bin\php\php 5.6 .31\ -->复制 pthreadVC2.dll
wamp\bin\apache\apache2.4.27\bin - ->复制 pthreadVC2.dll
4)现在编辑 php.ini
wamp\bin\apache\apache2.4.27\bin\ php.ini \ -->添加 extension=php_pthreads.dll
wamp\bin\php\php 5.6 .31\ php.ini \ -->添加 extension=php_pthreads.dll
5) 现在重启 Wamp
您的phpinfo显示您已禁用线程安全的PHP.你需要安装一个使用pthreads线程安全的php版本.这可能会或可能不会解决您当前的问题.
您可能还需要将其复制pthreadsVC2.dll到Web服务的bin目录中.
/etc/php55/fpm/
Run Code Online (Sandbox Code Playgroud)
你正在寻找带有php.ini的文件夹.
确保php.ini文件添加了以下行:
extension=php_pthreads.dll
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38252 次 |
| 最近记录: |