web-dev-qa-db-ja.com

Composer require phpoffice / phpspreadsheetが機能しない

パッケージPhpspreadsheetを使用してスクリプトを作成します。私はPHPの経験はありません。 Sudo composer require phpoffice/phpspreadsheet。を使用してスクリプトに参照を追加しようとしていますが、機能しません。エラーが発生しました。 ..なぜ機能しないのかわからない場合。

詳細エラー:

Your requirements could not be resolved to an installable set of packages.

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

To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
- /etc/php/7.0/cli/conf.d/10-opcache.ini
- /etc/php/7.0/cli/conf.d/10-pdo.ini
- /etc/php/7.0/cli/conf.d/20-calendar.ini
- /etc/php/7.0/cli/conf.d/20-ctype.ini
- /etc/php/7.0/cli/conf.d/20-exif.ini
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini
- /etc/php/7.0/cli/conf.d/20-ftp.ini
- /etc/php/7.0/cli/conf.d/20-gettext.ini
- /etc/php/7.0/cli/conf.d/20-iconv.ini
- /etc/php/7.0/cli/conf.d/20-json.ini
- /etc/php/7.0/cli/conf.d/20-mcrypt.ini
- /etc/php/7.0/cli/conf.d/20-mysqli.ini
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
- /etc/php/7.0/cli/conf.d/20-phar.ini
- /etc/php/7.0/cli/conf.d/20-posix.ini
- /etc/php/7.0/cli/conf.d/20-readline.ini
- /etc/php/7.0/cli/conf.d/20-shmop.ini
- /etc/php/7.0/cli/conf.d/20-sockets.ini
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini
- /etc/php/7.0/cli/conf.d/20-tokenizer.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.
8
MrScf

だから私はインストールする必要があります

Sudo apt install php-xml

Sudo apt install php7.0-Gd

Sudo apt install php7.0-mbstring

Sudo apt install php-Zip

32
MrScf

「ext-domが必要です」というエラーメッセージを読んでください。パッケージが見つからないか、この場合はphp拡張モジュールについて不満を言っています。一般に、パッケージをインストールできない場合、composer.jsonで必要なパッケージを調べて、完全なリストを確認できます。

phpoffice(この場合は1.1.0)には次が必要です。

   "require": {
        "php": "^5.6|^7.0",
        "ext-ctype": "*",
        "ext-dom": "*",
        "ext-Gd": "*",
        "ext-iconv": "*",
        "ext-libxml": "*",
        "ext-mbstring": "*",
        "ext-SimpleXML": "*",
        "ext-xml": "*",
        "ext-xmlreader": "*",
        "ext-xmlwriter": "*",
        "ext-Zip": "*",
        "ext-zlib": "*",
        "psr/simple-cache": "^1.0"
    },
    "require-dev": {
        "tecnickcom/tcpdf": "^6.2",
        "squizlabs/php_codesniffer": "^2.7",
        "phpunit/phpunit": "^5.7",
        "dompdf/dompdf": "^0.8.0",
        "mpdf/mpdf": "^7.0.0",
        "jpgraph/jpgraph": "^4.0",
        "friendsofphp/php-cs-fixer": "@stable"
    },
1
jhoskins98

使用している場合

$sheet->setAutoFilter(); 

これをコメントしてみてください

//$sheet->setAutoFilter();

私のために働く

0
Mauricio Paz

エラーメッセージ表示ミス。私は同じ問題を抱えていました。これを行うことで修正しました。 「ext-domが必要です」というエラーメッセージを読んでください。

php7.1-domをインストールしてください

私の場合、PHPは7.1以下です。

Sudo apt-get install php7.1 php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-Zip php7。 1-fpm sudo apt install php-xml php7.1-Gd php7.1-dom

0
Powen Ko

Centosの場合:

Sudo yum install Gd gd-devel php-Gd

0
Ali Shahnazi