Php 如何在Ubuntu上安装Phar?

Php 如何在Ubuntu上安装Phar?,php,ubuntu,composer-php,phar,Php,Ubuntu,Composer Php,Phar,我遇到了这样一种情况:如果在我的PHP项目上运行composer install,就会出现以下错误: 致命错误:在第23行的/usr/local/bin/composer中找不到类“Phar” 在阅读时,我试图通过执行php-I | grep'Phar'检查Phar是否已安装,而Phar是否未安装 我使用的是PHP5.6 请问如何在Ubuntu上安装Phar [编辑]当我尝试安装php phar时,我得到: Package php-phar is a virtual package provid

我遇到了这样一种情况:如果在我的PHP项目上运行
composer install
,就会出现以下错误:

致命错误:在第23行的/usr/local/bin/composer中找不到类“Phar”

在阅读时,我试图通过执行
php-I | grep'Phar'
检查Phar是否已安装,而Phar是否未安装

我使用的是PHP5.6

请问如何在Ubuntu上安装Phar

[编辑]当我尝试安装php phar时,我得到:

Package php-phar is a virtual package provided by:
  php7.2-common 7.2.7-1+ubuntu14.04.1+deb.sury.org+1
  php7.1-common 7.1.19-1+ubuntu14.04.1+deb.sury.org+1
  php5.6-common 5.6.36-1+ubuntu14.04.1+deb.sury.org+1
  php7.0-common 7.0.30-1+ubuntu14.04.1+deb.sury.org+1
You should explicitly select one to install.
然后,如果我尝试
安装php5.6-common

php5.6-common is already the newest version.
php5.6-common set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 295 not upgraded.

您必须首先使用以下设备安装扩展:

apt install php-phar

正常情况下,它应该自动注册扩展,并且应该可以工作

尝试运行
php-i | grep phar

如果它显示如下结果:

/etc/php/{version}/cli/conf.d/20-phar.ini,
Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, compress.bzip2, phar, zip
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On
一切都应该正确安装

如果未显示结果或未提及/禁用phar ini文件,则只需在主php.ini上包含正确的ini,并将路径设置为
phar.so
文件

或者,如果找到phar.so文件,只需使用

extension=phar.so

extension=path/to/your/phar.so

更新+额外以确保ext dir位置 如果您掌握了ini文件的位置和安装所使用的ext dir,就会更清楚

尝试这样做:
php-i|grepini

然后在第一行/第二行将有您的主ini文件

在我的机器中,它显示:
加载的配置文件=>/etc/php/{version}/cli/php.ini

然后执行此命令以确保使用了ext文件夹或在主ini上声明了任何扩展名:
cat/etc/php/{version}/cli/php.ini | grep ext

你也可以这样做:

cat/etc/php/{version}/cli/php.ini | grep phar

检查主ini文件上的phar相关参数


如果这些步骤没有显示任何内容,我认为如果您只需在您的计算机上重新安装php软件包就会更简单。

如果php5无法识别phar.so lib,请尝试更新到7.x


phar库自动包含在较新的软件包中,并将自动配置。希望能对您有所帮助

谢谢,但不幸的是它不起作用(请参见我的编辑),然后检查哪个版本正确
apt search phar
,然后您应该找到所有软件包。也许有一个包像
php5.6-phar
php5.6-phar
是php5.6-common的代理,它已经安装了:/然后问题是我认为您添加了更新的PHP源代码。通常,您需要新的PHP7.2 PPA。因此,如果你安装了它们,如果你使用旧版本,那么你就有一个问题。因此,也许您应该为您的cliMy项目安装PHP7.2,该项目只运行PHP5
PHP-i | grepPhar
而不显示任何内容。如果我运行
locate phar.so
则没有结果。我已经尝试在php.ini中包含
extension=phar.so
,但这并不能解决问题。尝试从这里手动下载phar.so:然后将其放在/etc/php/extension/上,并将其包含在主ini上。您的php安装似乎没有设置正确的配置文件。/etc/php不存在。有/etc/php5,但它不包含“扩展”子文件夹。然后您可以下载扩展并自己创建扩展文件夹。请确保您找到了.ini的正确路径。我将更新上面的答案,以包括查找ini文件和ext dir的方法。对不起,由于我上次的消息,我尝试卸载所有PHP和MySQL模块并重新安装它们。但现在我在安装过程中出现了一个错误。老实说,我第一次就已经犯了这个错误,我强迫忽略它,所以它很可能是错误的根源。我觉得即使我用Phar解决了这个问题,我也会有其他问题,因为mods是空的。。。