无法加载动态库 'C:\php\ext\php_pthreads.dll'

Unable to load dynamic library 'C:\php\ext\php_pthreads.dll'

我试图在我的 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 说明建议的要复杂一些:

  1. 下载 PHP 的线程安全版本,例如php-5.6.38-Win32-VC11-x86
    • 将 .ZIP 文件解压到您的硬盘,例如C:\php.
  2. 下载 pthreads 的匹配版本,例如 php_pthreads-2.0.10-5.6-ts-vc11-x86
    • pthreadVC2.dll 解压到 PHP 文件夹中,例如C:\php.
    • php_pthreads.dll 解压到扩展文件夹中,例如C:\php\ext.
  3. 在 PHP 文件夹中,将 php.ini-developmentphp.ini-production 复制到 php.ini
  4. 编辑 php.ini 并在文件末尾添加行 extension=php_pthreads.dll

此时 pthreads 应该可以工作了。您可以通过在 PHP 文件夹中打开命令提示符并执行 php --ri pthreads:

来验证这一点

请注意,我上面提到的 PHP 和 pthreads 版本需要您安装 Visual Studio 2012 (VC11) runtime 才能运行。


编辑: 为了完整起见,我下载了似乎与您正在使用的 PHP 和 pthreads 完全相同的版本(主要区别是 x64):

按照上面的步骤我得到了相同的结果(当然除了 pthreads 版本报告为 2.0.9)。