я использую PhpSpreadsheet в разработке веб-приложений на PHP,
Я пытаюсь настроить расширение PHP Zip, необходимое для включения PhpSpreadsheet на сервере.
Я попробовал два метода, но я не смог правильно его настроить, поэтому я хотел бы, чтобы вы сказали мне решение и другие вещи, которые нужно проверить.
Выполните следующее в терминале
# 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
После отмены настройки 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
,
ОС: Red Hat Enterprise Linux Server версии 7.4 (Maipo)
PHP: 7.1.14
Для ZipArchive класс, чтобы присутствовать, PHP должен иметь расширение на молнии установлены.
Увидеть эта страница для инструкций по установке (как Linux, так и Windows).
Других решений пока нет …