问题
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:
- 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
.
- extract the .ZIP file to your hard drive, e.g.
- 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
.
- extract
- In the PHP folder, copy either
php.ini-development
orphp.ini-production
tophp.ini
. - Edit
php.ini
and add the lineextension=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