如何在 Ubuntu 上安装 Phar?
How to install Phar on Ubuntu?
如果我在我的 PHP 项目中 运行 composer install
,我会遇到这样的情况:
Fatal error: Class 'Phar' not found in /usr/local/bin/composer on line 23
当我阅读 composer update class phar not found 时,我尝试通过执行 php -i | grep 'phar'
检查是否安装了 Phar,但未安装 Phar。
我正在使用 PHP 5.6.
请问如何在 Ubuntu 上安装 Phar?
[编辑] 当我尝试 apt-get install 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.
那么,如果我尝试 apt-get 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
files.
或者,如果您找到 phar.so 文件,只需将它添加到您的主 php.ini 中,并使用
extension=phar.so
或
extension=path/to/your/phar.so
更新 + extra 以确保分机目录位置
掌握ini文件位置和安装使用的ext目录会更清楚
尝试这样做:
php -i | grep ini
然后在 first/second 行将是您的主 ini 文件。
在我的机器上显示如下:
Loaded Configuration File => /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库,请尝试更新至7.x
phar 库自动包含在较新的软件包中,并且也会自动配置。希望能帮到你
如果我在我的 PHP 项目中 运行 composer install
,我会遇到这样的情况:
Fatal error: Class 'Phar' not found in /usr/local/bin/composer on line 23
当我阅读 composer update class phar not found 时,我尝试通过执行 php -i | grep 'phar'
检查是否安装了 Phar,但未安装 Phar。
我正在使用 PHP 5.6.
请问如何在 Ubuntu 上安装 Phar?
[编辑] 当我尝试 apt-get install 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.
那么,如果我尝试 apt-get 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
files.
或者,如果您找到 phar.so 文件,只需将它添加到您的主 php.ini 中,并使用
extension=phar.so
或
extension=path/to/your/phar.so
更新 + extra 以确保分机目录位置
掌握ini文件位置和安装使用的ext目录会更清楚
尝试这样做:
php -i | grep ini
然后在 first/second 行将是您的主 ini 文件。
在我的机器上显示如下:
Loaded Configuration File => /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库,请尝试更新至7.x
phar 库自动包含在较新的软件包中,并且也会自动配置。希望能帮到你