PHP:pthreads 未在 PHP 8.1 上加载

问题描述 投票:0回答:2

我正在尝试在 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

这是我用来安装它的步骤->

  1. 从此处获取最新版本 -> https://windows.php.net/downloads/pecl/releases/pthreads/
  2. 将 php_pthreads.dll 解压到 /php/ext
  3. 将extension=pthreads添加到php.ini
  4. 将 pthreadVC2 解压到 /php

当我尝试安装 Laravel Horizon 时,这就是我得到的 ->

Root composer.json requires PHP extension ext-pthreads * but it is missing from your system. Install or enable PHP's pthreads extension.
php pthreads php-8.1
2个回答
3
投票

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 发布前不久以来尚未标记任何版本。


-1
投票

您可以使用

phpinfo();
方法来显示您安装的所有 php 扩展,并确保您将其安装在正确的 php.ini 文件中,也许这会解决您的问题,您也可以重新启动本地主机

© www.soinside.com 2019 - 2024. All rights reserved.