Класс ‘ZipArchive’ не найден

Что я хочу реализовать

я использую PhpSpreadsheet в разработке веб-приложений на PHP,
Я пытаюсь настроить расширение PHP Zip, необходимое для включения PhpSpreadsheet на сервере.
Я попробовал два метода, но я не смог правильно его настроить, поэтому я хотел бы, чтобы вы сказали мне решение и другие вещи, которые нужно проверить.

1-й метод, который я попробовал

Выполните следующее в терминале

# yum install php71-php-pecl-zip.x86_64
# cp /etc/opt/remi/php71/php.d/40-zip.ini /etc/php.d/40-zip.ini
# systemctl stop httpd.service
# systemctl start httpd.service

При выполнении обработки с использованием PhpSpreadsheet из веб-браузера произошла ошибка

/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php: 71
Class 'ZipArchive' not found

Я подтвердил, что расширение Zip включено в терминале, но я не знаю причину.

# php --info
Additional. Ini files parsed =>
·
·
/etc/php.d/40-zip.ini
·
·
zip

Zip => enabled
Zip version => 1.15.2
Libzip headers version => 1.3.2
Libzip library version => 1.5.1

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib: / /
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.7
Linked Version => 1.2.7

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

# php vendor / phpoffice / phpspreadsheet / samples / index.php
Requirement check:
PHP 5.6.0 ... passed
PHP extension XML ... passed
PHP extension xmlwriter ... passed
PHP extension mbstring ... passed
PHP extension ZipArchive ... passed
PHP extension GD (optional) ... passed
PHP extension dom (optional) ... passed

2-й метод, который я попробовал

После отмены настройки 1st (удалить пакет, удалить скопированный файл)
Выполните следующее в терминале

# yum install php71-php-devel.x86_64
# yum install zlib-devel.x86_64
# pecl install zip

Следующая ошибка произошла в третьей команде

# pecl install zip
No releases available for package "pecl.php.net/zip"install failed

Из-за ошибки, указанной выше, загрузка файла и выполнение phpize не будет снова с ошибкой …

# wget http://pecl.php.net/get/zip-1.15.2.tgz
# phpize
Can not find PHP headers in /usr/include/php
The php-devel package is required for use of this command.

Я не понял, почему произошли ошибки в pecl install zip а такжеphpize,

Дополнительная информация (FW / версия инструмента и т. Д.)

ОС: Red Hat Enterprise Linux Server версии 7.4 (Maipo)

PHP: 7.1.14

1

Решение

Для ZipArchive класс, чтобы присутствовать, PHP должен иметь расширение на молнии установлены.

Увидеть эта страница для инструкций по установке (как Linux, так и Windows).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]