PHP中的pthreads问题

时间:2019-01-02 13:59:46

标签: php pthreads php-7.2 pthreads-win32 php-7.3

我在PHP中遇到pthreads问题。

当我开始使用Apache时,我看到这样的错误:

php.exe - Entry point not found
The procedure entry point was not found _zend_hash_update@@12 in library D:\xampp\php\ext\php_pthreads.dll

当我在CMD中执行脚本时,会有警告:

PHP Warning:  PHP Startup: Unable to load dynamic library 'php_pthreads.dll' (tried: D:\xampp\php\ext\php_pthreads.dll

我将pthreadVC2.dll复制到:

C:/windows/system32
D:/xampp/php
D:/xampp/apache/bin

然后我将最后一个文件php_pthreads.dll复制到:

D:/xampp/ext

我在php.ini行中添加了:

extension=php_pthreads.dll

我的配置:

我在php 7.2.x中尝试过,但我遇到了同样的问题,但其他的Apache启动错误消息。 也许有人可以帮助我。

1 个答案:

答案 0 :(得分:2)

我的问题解决了!

我的建议

  • 在xampp上将PHP降级到7.2.x版本(因为pthreads 3.2.0可与php 7.2兼容)
  • 下载并安装php_pthreads-3.2.0(与MSVC 15编译后的版本相同) PHP。链接:https://github.com/krakjoe/pthreads/releases
  • 从apache / bin中删除pthreadVC2.dll(因为不需要它)
  • 复制php.ini并将副本另存为php-cli.ini
  • 从php.ini中删除具有extension = php_pthreads.dll的行(此行必须存在于php-cli.ini中)

尝试使用CMD命令:php --ini并检查“已加载的配置文件”。必须将其设置为php-cli.ini。还可以尝试使用命令:php -i并在结果中找到pthreads。