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

痞子三分冷 提交于 2021-01-27 07:00:39

问题


I'm trying to have threads in my php code, but I can't get my head around pthreads library and every time I run my program I encounter this error:

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 followed every step needed:

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.

Here is my phpinfo():

PHP Version => 5.6.38
Compiler => MSVC11 (Visual C++ 2012)
Architecture => x64

And here is the version of pthreads I used:

php_pthreads-2.0.9-5.6-ts-vc11-x64

I have read similar topics on the issue, even did try everything step by step according to a video tutorial but nothing works. What am I doing wrong?


回答1:


Installation is quite straightforward, although a little more involved than the Simple Windows Installation instructions suggest:

  1. Download a thread safe version of PHP, e.g. php-5.6.38-Win32-VC11-x86.
    • extract the .ZIP file to your hard drive, e.g. C:\php.
  2. Download the matching version of pthreads, e.g php_pthreads-2.0.10-5.6-ts-vc11-x86.
    • extract pthreadVC2.dll into the PHP folder, e.g. C:\php.
    • extract php_pthreads.dll into the extensions folder, e.g. C:\php\ext.
  3. In the PHP folder, copy either php.ini-development or php.ini-production to php.ini.
  4. Edit php.ini and add the line extension=php_pthreads.dll at the end of the file.

At this point pthreads should be working. You can verify this by opening a command prompt in the PHP folder and executing php --ri pthreads:

Note that the PHP and pthreads versions I referenced above require you to install the Visual Studio 2012 (VC11) runtime to function.


Edit: For completeness, I downloaded what seem to be the exact versions of PHP and pthreads you are using (the primary difference being x64):

  • php-5.6.38-Win32-VC11-x64
  • php_pthreads-2.0.9-5.6-ts-vc11-x64

Following the steps above I received the same result (except the pthreads version is reported as 2.0.9 of course).



来源:https://stackoverflow.com/questions/52536027/unable-to-load-dynamic-library-c-php-ext-php-pthreads-dll

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!