【问题标题】:How do I install / enable the PHP phar extension?如何安装/启用 PHP phar 扩展?
【发布时间】:2026-01-07 10:20:03
【问题描述】:

我正在尝试在我的 KnownHost VPS 上安装 Composer。当我运行这个命令时:

curl -sS https://getcomposer.org/installer | php

我收到此错误消息:

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

如何安装 phar 扩展?我在我的 VPS 上运行 PHP 5.4.22。

【问题讨论】:

  • 试试这个:curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off.
  • 您使用的是什么操作系统?
  • @AmalMurali 是的,但是 *nix 的风格对于安装/启用 phar 扩展的最佳方式有很大的不同。
  • 我认为vps运行的是centos 6
  • 你解决过这个问题吗?我在 DreamHost 也有类似的情况。

标签: php linux shell composer-php


【解决方案1】:

最后我通过让我的主机使用 PDO 支持重建 PHP 解决了这个问题。

【讨论】:

    【解决方案2】:

    您可以修改 php.ini 文件以使其正常工作。 (有些主机使用 phprc 文件而不是 php.ini 来启用 PHP 中的不同设置。@jerrygarciuh 在 dreamhost 上,按照指示进行操作 here

    添加 php.ini/phprc 文件后,将这些行添加到文件中(如果您的服务器不使用 Suhosin 来确保安全,则只需添加第一行):

    extension = phar.so 
    suhosin.executor.include.whitelist = phar
    

    如果需要,请重新启动 php(如果不同,请插入不带小数的 php 版本号):

    killall -9 php70.cgi
    

    然后检查以确保它正常工作:

    php -m | grep Phar
    

    完成 composer 的安装,您应该一切顺利。

    【讨论】:

      【解决方案3】:

      介意为 php 安装 phar 扩展。

      urpmi php-phar
      

      apt-get install php-phar
      

      【讨论】:

      • 如果我在 suse linux 中执行 apt-get install php-phar 那么它只会永远加载。
      • @Black 在 suse linux 上,您可能更喜欢 zypper 命令来安装,不是吗? *.com/questions/7158838/…
      • 我看不出有什么不同。
      【解决方案4】:

      我在 Ubuntu 16.04 中遇到了同样的问题。浪费了两个小时后,我想出了这个解决方案:

      1. 首先安装你需要的PHP版本:sudo apt install php7.2

      2. 安装作曲家。 curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

      3. 只需键入即可检查作曲家是否正在工作 composer

      如果作曲家工作正常,你就可以走了。

      【讨论】: