我正在尝试在 PHP 8.1 TS 上添加 pthreads 扩展,但它似乎不起作用,据说它没有安装,但实际上已经安装了。
PHP -v
PHP 8.1.10 (cli) (built: Aug 30 2022 18:05:49) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.1.10, Copyright (c) Zend Technologies
with Xdebug v3.1.5, Copyright (c) 2002-2022, by Derick Rethans
这是我用来安装它的步骤->
当我尝试安装 Laravel Horizon 时,这就是我得到的 ->
Root composer.json requires PHP extension ext-pthreads * but it is missing from your system. Install or enable PHP's pthreads extension.
pthreads 不适用于 PHP 8.1
PHP 扩展需要针对正确的 PHP 版本进行编译,因为它们直接与仅保证在一年发布内稳定的代码交互(例如,7.0.1 和 7.0.2 保证兼容,但 7.0.0 和 7.1.0不是)。它们通常还需要在主要版本之间进行重大源代码更改,即为 PHP 7.0 编写的扩展很可能可以针对 PHP 7.4 进行编译,但不能针对 PHP 8.0 进行编译。
如果您查看早期版本的 pthreads 的下载,您将看到 PHP 版本包含在文件名中 - pthreads 2.0.10 具有适用于 5.3、5.4、5.5 和 5.6 的版本。列出的最后一个版本,3.1.6,只有两个可用文件,都是为 PHP 7.0 构建的。
在 Github 上查看,版本 3.1.6 被标记为 2016 年 2 月,比 PHP 7.1 早 10 个月。 Github 上有一个版本 3.2.0,其中提到了对 PHP 7.2 的支持,但这并没有出现在扩展的 PECL 页面上,该页面有一个突出的横幅:
此软件包不再维护并已被取代。
具体来说,它被作者终止了,转而支持一个名为“并行”的新扩展。该扩展至少更新了 8.0,但对更新版本的支持尚不清楚,因为自 PHP 8.2.0 发布前不久以来尚未标记任何版本。
您可以使用
phpinfo();
方法来显示您安装的所有 php 扩展,并确保您将其安装在正确的 php.ini 文件中,也许这会解决您的问题,您也可以重新启动本地主机