PHPSpreadsheet и PHP7.2

У меня есть кластер LAMP с PHP7.2. Я пытаюсь установить PHPSpreadsheet, но постоянно получаю ошибки.

`
# composer require phpoffice/phpspreadsheet Использование версии ^1.4 для phpoffice/phpspreadsheet ./composer.json обновлен Загрузка репозиториев composer с информацией о пакете Обновление зависимостей (включая require-dev) Ваши требования не удалось преобразовать в устанавливаемый набор пакетов.

Problem 1
- phpoffice/phpspreadsheet 1.4.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
- phpoffice/phpspreadsheet 1.4.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
- Installation request for phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1].

To enable extensions, verify that they are enabled in your .ini files:
- /etc/php.ini
- /etc/php.d/10-opcache.ini
- /etc/php.d/20-bz2.ini
- /etc/php.d/20-calendar.ini
- /etc/php.d/20-ctype.ini
- /etc/php.d/20-curl.ini
- /etc/php.d/20-exif.ini
- /etc/php.d/20-fileinfo.ini
- /etc/php.d/20-ftp.ini
- /etc/php.d/20-gd.ini
- /etc/php.d/20-gettext.ini
- /etc/php.d/20-iconv.ini
- /etc/php.d/20-json.ini
- /etc/php.d/20-mbstring.ini
- /etc/php.d/20-mysqlnd.ini
- /etc/php.d/20-pdo.ini
- /etc/php.d/20-phar.ini
- /etc/php.d/20-sockets.ini
- /etc/php.d/20-sqlite3.ini
- /etc/php.d/20-tokenizer.ini
- /etc/php.d/30-mysqli.ini
- /etc/php.d/30-pdo_mysql.ini
- /etc/php.d/30-pdo_sqlite.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, reverting ./composer.json to its original content.

`

И после поиска в Google у меня есть различные варианты установки php-xml, но все, что я получаю, это

` Ошибки разрешения зависимостей:

Package: php-xmlrpc-5.4.16-45.el7.x86_64 (base)
Requires: php-common(x86-64) = 5.4.16-45.el7
Installed: php-common-7.2.4-1.el7.remi.x86_64 (@remi-php72)
    php-common(x86-64) = 7.2.4-1.el7.remi
Available: php-common-5.4.16-45.el7.x86_64 (base)
    php-common(x86-64) = 5.4.16-45.el7Package: php-xml-5.4.16-45.el7.x86_64 (base)
Requires: php-common(x86-64) = 5.4.16-45.el7
Installed: php-common-7.2.4-1.el7.remi.x86_64 (@remi-php72)
    php-common(x86-64) = 7.2.4-1.el7.remi
Available: php-common-5.4.16-45.el7.x86_64 (base)
    php-common(x86-64) = 5.4.16-45.el7

`

Может ли кто-нибудь помочь мне с установкой этого? Я пытался загрузить его вручную и скопировать в свой рабочий каталог, но все эти пространства имен продолжают искать файл «vendor/autoload», которого у меня нет.


person Joseph    schedule 08.10.2018    source источник


Ответы (1)


Вы установили php из remi-php72, который не включен, поэтому у вас возникли проблемы с зависимостями при попытке установить дополнительные расширения.

См. инструкции мастера.

So:

yum install yum-utils
yum-config-manager --enable remi-php72

Затем установите необходимое расширение

yum install php-dom

Обратите внимание, что постоянно включенный репозиторий также даст вам преимущества ежемесячных обновлений и позволит избежать запуска устаревшей небезопасной версии (7.2.4), а вместо этого предоставит вам последнюю версию (7.2.10 на данный момент).

person Remi Collet    schedule 09.10.2018
comment
Спасибо, что сообщили мне, что у меня не установлен репозиторий remi. Как только я его установил, он работал как чемпион. - person Joseph; 11.10.2018