4

我试图在我的 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

我已经阅读了有关该问题的类似主题,甚至根据视频教程逐步尝试了所有内容,但没有任何效果。我究竟做错了什么?

4

1 回答 1

3

安装非常简单,尽管比简单 Windows 安装说明所建议的要复杂一些:

  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-development或复制php.ini-productionphp.ini.
  4. 编辑并在文件末尾php.ini添加该行。extension=php_pthreads.dll

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

结果截图

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


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

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

于 2018-10-01T13:26:53.463 回答