如果我跑phpize -v
然后我得到
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
如果我打开 phpinfo 那么它会显示较新的日期
所以我的 phpize 已经过时了。
这是以下的输出php -v
:
PHP 7.4.21 (cli) (built: Jul 1 2021 16:09:41) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
如果我创建一个 php 信息页面并显示它,那么它会显示PHP 版本 7.4.21也
如何获取 php 7.4 的 phpize ?
答案1
显示所有已安装的 phpize 版本在类似 Debian 的系统上使用一致的软件包进行安装:
sudo update-alternatives --config phpize
您将看到 phpize 版本列表
root@my-server:~# sudo update-alternatives --config phpize
There are 3 choices for the alternative phpize (providing /usr/bin/phpize).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/phpize.default 100 auto mode
1 /usr/bin/phpize.default 100 manual mode
2 /usr/bin/phpize8.1 81 manual mode
3 /usr/bin/phpize8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:
击中所需号码。
附:您必须安装phpize
不同版本的 PHP 才能使其出现在上面。安装 PHP 8.1 运行sudo apt-get install php8.1-dev
答案2
弄清楚了。
首先我搜索了 php7:
apt-cache search php7.4
然后我发现php7.4-dev并安装它:
sudo apt install php7.4-dev
这安装phpize7.4
在/usr/bin
最后一步是将 phpize 设置为新版本:
sudo update-alternatives --set phpize /usr/bin/phpize7.4
现在phpize -v
输出:
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902
答案3
您可能还需要更改./configure
版本:
phpize8.1
./configure --with-php-config=/usr/bin/php-config8.1 [...]
语境:
当我安装了许多 php 版本(8.0、8.1、8.2)时,我必须为 php8.1 编译 php 模块。所以我的主要版本是 8.2,并且模块未正确编译(8.2 而不是 8.1)。无论如何,这并不能回答作者的问题,但它可能会帮助一些遇到同样问题并且与我有同样情况的人。