【问题标题】:Conflict when installing PHP intl extension for composer on Centos 7在 Centos 7 上为作曲家安装 PHP 国际扩展时发生冲突
【发布时间】:2015-08-02 21:19:58
【问题描述】:

我正在尝试在远程 linux 服务器上安装 Magento 2 DRC,运行 Centos 7、Apache 2.4.6、MariaDB 和 PHP v5.6.9。当我尝试安装 Composer 时,我收到以下消息:

$ cd /var/www/html/magento2 && composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested PHP extension ext-intl * is missing from your system.

我已经安装了ext-intl 使用:

yum list php*intl

yum install php-intl

但是仍然给我同样的信息。

我已经尝试了各种其他安装来解决这个问题,但无济于事。任何建议都将不胜感激,因为它正在拖延项目。

降级到 PHP 5.5 会有帮助吗?

【问题讨论】:

    标签: php linux centos composer-php magento2


    【解决方案1】:

    使用 Php7 在 RHEL/Centos 7 上安装 Magento2。

    订阅 IUS 社区项目存储库 由于 PHP 7.x 尚未打包在主要发行版的官方存储库中,我们将不得不依赖第三方来源。几个存储库提供 PHP 7 RPM 文件。我们将使用 IUS 存储库。

    IUS 提供了一个安装脚本,用于订阅其存储库并导入相关的 GPG 密钥。确保你在你的主目录中,并使用 curl 检索脚本:

    curl 'https://setup.ius.io/' -o setup-ius.sh
    sudo bash setup-ius.sh
    

    安装所需的软件包-:

    sudo yum install -y mod_php70u php70u-cli php70u-mysqlnd php70u-json php70u-gd php70u-dom php70u-simplexml php70u-mcrypt php70u-intl httpd mysql-server git
    

    完整安装见我的文章magento2-php7-centos7-mysql5.7

    【讨论】:

      【解决方案2】:

      您可以按照以下步骤在 Centos 7 上安装 magento2。 http://gotechnies.com/install-magento2-centos-7/

      在 Centos Distro 上安装 Magento 2(M2) 有几个简单的步骤。

      步骤 1-: 首先,我们需要为 php5.6、mysql-server5.6 和 phpmyadmin 添加几个 EPEL 存储库。

      # php5.6 的 EPEL 存储库 $ rpm -iUvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ rpm -iUvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # mysql-server5.6 的 EPEL 存储库 $rpm -iUvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm # Centos 7 上 phpMyadmin 的 EPEL 存储库 $ rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm $ yum -y 更新

      第 2 步-:

      安装需要 apache、php5.6、mysql-server、phpmyadmin 等软件包。

      $ yum install-y httpd php mysql-server phpmyadmin php56w-mcrypt php56w-intl php56w-xsl git

      要允许 apache 2.4 中的 phpmyadmin 添加行

      要求全部授予

      阅读更多链接到上面的链接

      【讨论】:

      • php 之后的“56w”字符为我做了伎俩,你的救命稻草
      【解决方案3】:

      必须为命令行 PHP 安装和激活扩展,而不仅仅是 Web 服务器 PHP。如果您运行php -i,这是运行phpinfo() 的CLI 等效项,您应该会看到一个包含有关“intl”扩展信息的部分。如果丢失,您还会看到正在使用的“php.ini”文件的路径 - 您应该在此处仔细检查扩展程序是否已激活。

      大多数时候不是。

      【讨论】:

      • 嗨,斯文,感谢您的回复。我从命令行运行了 php -i ,你说得很对,我看不到“intl”的条目。所以我运行 yum install php intl 并收到以下错误消息
      • 刚刚重新安装 intl 并运行 php -i | grep 国际机场它给了我一个答案,这表明它已安装并正在运行,但在我运行 php -m 或 php -i 时不显示。
      • 我在 php.ini 文件中添加了行 extension=intl.so 没有工作,所以我创建了文件 /etc/php5/conf.d/intl.ini 并将行扩展名=intl.so 进入它,重新启动 apache,它仍然没有显示。我完全糊涂了。
      • 首先,更新命令行 PHP 的配置时,您不必重新启动 Apache - PHP 没有在命令行的后台运行。其次,php -i 应该列出它正在使用的 php.ini 文件。编辑那个,不要发明新的。很可能存在一个现有的配置目录,其中包含多个 ini 文件,每个文件都有一个扩展名,您只需在此处为 intl 扩展名添加一个。这个目录也列在php -i中。
      • 我使用 vi 编辑了 /etc/php.ini 中的 php.ini 文件。我在哪里插入行有关系吗?我仍然无法激活“intl”。我相信可能存在版本问题。在 php 上返回一个版本会有所帮助吗?
      猜你喜欢
      • 2021-09-01
      • 2013-11-03
      • 2016-06-01
      • 2019-02-14
      • 1970-01-01
      • 2018-03-21
      • 2019-09-06
      • 2015-04-28
      • 1970-01-01
      相关资源
      最近更新 更多