Отсутствуют расширения PHP для Magento 2

10

Я пытаюсь установить новый бродячий ящик для разработки Magento 2, однако при запуске composer installя получаю следующие ошибки:

Problem 1
    - The requested PHP extension ext-gd * is missing from your system. Install or enable PHP's gd extension.
  Problem 2
    - The requested PHP extension ext-mcrypt * is missing from your system. Install or enable PHP's mcrypt extension.
  Problem 3
    - The requested PHP extension ext-curl * is missing from your system. Install or enable PHP's curl extension.
  Problem 4
    - The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
  Problem 5
    - The requested PHP extension ext-xsl * is missing from your system. Install or enable PHP's xsl extension.
  Problem 6
    - The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
  Problem 7
    - The requested PHP extension ext-openssl * is missing from your system. Install or enable PHP's openssl extension.
  Problem 8
    - The requested PHP extension ext-zip * is missing from your system. Install or enable PHP's zip extension.

Я уже пытался установить каждое из этих расширений с помощью и sudo apt-get install php7.0-mcryptт. Д., Но я все еще получаю вышеупомянутые ошибки, утверждающие, что установленные мной расширения все еще отсутствуют. Я перезапустил Apache2. Любые идеи?

PHP -v

PHP 7.0.8 (cli) (built: Jun 26 2016 15:14:18) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

введите описание изображения здесь

wickywills
источник
После установки вы перезапустили php-fpm / apache / nginx. Во-вторых, вы уверены, что «сеть» использует PHP 7, создайте <?php phpinfo(); страницу, чтобы проверить и подтвердить, что к чему
Барри Карлайон
@BarryCarlyon Обновленный вопрос со скриншотом - дайте мне знать, если вам нужна дополнительная информация. Как я могу убедиться, что «сеть» использует PHP7?
wickywills
Можете ли вы запустить php -mи посмотреть, какой список установленных расширений вы получите в качестве вывода.
Атиш Госвами
Я не вижу ничего «неправильного», поэтому не уверен, почему Magento утверждает, что модули не установлены. PHPinfo дал правильный вывод, подтвердив, что он на php7 и эти модули установлены.
Барри Карлайон

Ответы:

28

Перед установкой Magento 2 убедитесь, что ваша система соответствует или превосходит следующие требования:

Требуемые расширения PHP:

  • PDO / MySQL
  • MBstring
  • Mcrypt
  • Mhash
  • SimpleXML
  • локон
  • gd2, ImageMagick 6.3.7 (или позже) или оба
  • мыло

Но для php 7.0 вы должны использовать следующие команды:

sudo apt-get update

sudo apt-get install php7.0-gd php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-openssl php7.0-zip php7.0-soap

sudo service apache2 restart

НОТА:

Используйте это для openSUSE:

zypper install php7-gd php7-mcrypt php7-curl php7-intl php7-xsl php7-mbstring php7-openssl php7-zip php7-soap
Вадим Калин
источник
1
sudo apt-get install php7.0-soapтакже
Таха КП
Спасибо. Добавлен.
Вадим Калин
Кто-нибудь здесь с той же проблемой на Windows-7 Xampp? У меня нет никаких dll
GunJan Mehta
Также, sudo apt install php7.0-bcmath
Аршад Сайед
2

Попробуйте это, чтобы включить php-curl

sudo apt-get install php7.0-curl
Суджал Патель
источник
0

Иногда командная строка настроена на использование другой конфигурации (INI-файл) из других источников. Вы побежали phpinfoиз Интернета и сказали, что это выглядит хорошо, но как насчет самой командной строки?

В частности, посмотрите на вывод php -i | grep '.ini'(чтобы увидеть загруженные ini-файлы) и php -iвообще (чтобы увидеть загруженные расширения).

Вероятно, CLI загружается php-cli.iniили что-то в этом роде, и эта альтернативная конфигурация не была обновлена ​​новыми установленными вами расширениями. Скопируйте их из php.ini, и ваша проблема будет решена.

Райан Херр
источник
-1

Я использую веб-панель Centos CWP. Его GUI похож на другие, которые вы должны купить или арендовать. В инструментальной панели CentosCWP есть селектор php, который позволяет вам запускать дюжину различных версий php в соответствии с вашими потребностями. Когда я выбираю версию, появляются флажки, позволяющие настроить загружаемые модули. По умолчанию intl не проверяется. После того, как я проверил и сохранил конфигурацию php и перезагрузил apache, ошибка готовности отсутствующего модуля intl исчезла.

Но кроме этого я пересмотрел Mage 2.1 и вернулся к ZC. Маг - это медленный способ, а новый бэкэнд плохо спроектирован, на мой взгляд.

user3257923
источник
1
Это не дает ответа. Пожалуйста, дайте конкретные шаги для решения проблемы.
brentwpeterson