服务器有 PHP 8.1、8.2、8.3 三个版本标准安装后使用以下命令
sudo apt install php-pear
sudo apt install php-dev
sudo pecl install xhprof
由于某种原因,我的模块是为 PHP8.2 安装的
我尝试通过指定 php8.3 的路径来更改 pecl 设置,如下所示
which php8.3
pecl config-set php_dir /usr/bin/php8.3
然后再试一次
sudo pecl install xhprof
但出现模块存在的错误
结果8.3下只能通过使用后缀才能安装
sudo apt install php8.3-dev
sudo pecl -d php_suffix=8.3 install xhprof; sudo pecl uninstall -r xhprof
但我不明白为什么当我打电话时在控制台中
php -m
或者
php8.3 -m
我没有看到 xhprof 模块!?
此外,在脚本中,在 phpinfo() 的输出中;我看到这个模块已连接(脚本在php8.3下运行)!
其中
sudo update-alternatives --config php
8.3 中发布 有 4 个 php 替代选项(提供 /usr/bin/php)。
Выбор Путь Приор Состояние
------------------------------------------------------------
0 /usr/bin/php.default 100 автоматический режим
1 /usr/bin/php.default 100 ручной режим
2 /usr/bin/php8.1 81 ручной режим
3 /usr/bin/php8.2 82 ручной режим
* 4 /usr/bin/php8.3 83 ручной режим
还有团队
php -v
显示
PHP 8.3.1 (cli) (built: Dec 21 2023 20:12:13) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies
with Zend OPcache v8.3.1, Copyright (c), by Zend Technologies
with Xdebug v3.3.0, Copyright (c) 2002-2023, by Derick Rethans
你能解释一下吗?原因是什么,我在哪里还没有将其配置为默认仅使用 PHP8.3,如果我猜对了问题的原因......