我试图在我的php代码中包含线程,但是我无法理解pthreads库,每次运行程序时,都会遇到此错误:
Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_pthreads.dll' - The specified module could not be found.in Unknown on line 0
我遵循了所需的每个步骤:
I've added the file pthreadVC2.dll in my "C:\php" folder
I've added the file php_pthreads.dll in my "C:\php\ext"folder
I've modified the file php.ini, enabling the extension: extension=php_pthreads.dll
I've also added pthreadVC2.dll to system32 folder.
这是我的phpinfo():
PHP Version => 5.6.38
Compiler => MSVC11 (Visual C++ 2012)
Architecture => x64
这是我使用的pthreads版本:
php_pthreads-2.0.9-5.6-ts-vc11-x64
我已经阅读过有关此问题的类似主题,甚至没有按照视频教程逐步尝试所有操作,但没有任何效果。我究竟做错了什么?
最佳答案
安装非常简单,尽管比Simple Windows Installation指令所建议的要复杂得多:
C:\php
。 pthreadVC2.dll
提取到PHP文件夹中,例如C:\php
。 php_pthreads.dll
提取到扩展文件夹中,例如C:\php\ext
。 php.ini-development
或php.ini-production
复制到php.ini
。 php.ini
并在文件末尾添加extension=php_pthreads.dll
行。 在这一点上,pthreads应该正在工作。您可以通过在PHP文件夹中打开命令提示符并执行
php --ri pthreads
来验证这一点:请注意,我上面引用的PHP和pthreads版本要求您安装Visual Studio 2012 (VC11) runtime才能起作用。
编辑:为了完整起见,我下载了似乎正在使用的PHP和pthread的确切版本(主要区别是x64):
按照上述步骤,我收到了相同的结果(当然,pthreads版本报告为2.0.9)。