安装 Composer 时在 PHP 8.1 中未找到 PHP PHAR 扩展

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

当我尝试从官方docs安装composer时,出现了这个:

Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:

The phar extension is missing.
Install it or recompile php without --disable-phar

The iconv OR mbstring extension is required and both are missing.
Install either of them or recompile php without --disable-iconv

我尝试使用

apt-get
安装 php-phar 和 php8.1-phar,但它似乎已被 php8.1-common 取代

lvjhn@peridot:~/Temp$ sudo apt install php8.1-phar
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'php8.1-common' instead of 'php8.1-phar'
php8.1-common is already the newest version (8.1.11-1+ubuntu22.04.1+deb.sury.org+2).

编辑:我使用了错误的单词搜索而不是安装。

我正在使用

ondrej
存储库中的一个。

如何解决?谢谢你。

php ubuntu ubuntu-22.04
1个回答
0
投票

首先,您可以使用

php -m
检查启用的 php 模块,预计您不会在那里找到 phar。但此列表未显示未启用的模块/扩展。您可以通过检查扩展目录来检查是否安装了该扩展。您可以通过以下方式找到它的位置:

php -i | grep extension_dir

然后您可以通过将路径放入以下命令中轻松检查内部:

ls /path/to/extension_dir | grep phar

如果您看到 phar.so 结果 - 这意味着您已安装它并且应该在 php.ini 文件中启用它。 您可以通过运行

php --ini
检查正在使用哪个 php.ini 文件。 然后您应该使用您喜欢的任何编辑器编辑该文件(例如
sudo nano /etc/php/8.1/cli/php.ini
)。这些扩展位于动态扩展部分。如果有一行
;extension=phar
,您只需删除
;
;如果不存在 - 只需手动添加:

extension=phar

然后保存文件。之后您可能需要重新启动 Web 服务器。 (

sudo systemctl restart apache2
,如果是 Apache)。您可以再次使用
php -m
检查,这次您应该找到它了。

其他扩展也同样如此,如 mbstring、curl、fileinfo、tokenizer 等。

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