前提・実現したいこと
とあるPHPのWebアプリケーション開発でPhpSpreadsheetを使用することになり、
PhpSpreadsheetに必要なPHPのZipエクステンションをサーバーで有効にする設定をしようとしています。
2つの方法を試したのですが、うまく設定することができませんでしたので、解決策や他に確認すべきことがあるのか教えていただきたいです。
試したこと①
ターミナルで下記を実行
# yum install php71-php-pecl-zip.x86_64 # cp /etc/opt/remi/php71/php.d/40-zip.ini /etc/php.d/40-zip.ini # apache再起動
Webブラウザから、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
試したこと②
①の設定を取消(パッケージのアンインストール、コピーしたファイルの削除)した後
ターミナルで下記を実行
# yum install php71-php-devel.x86_64 # yum install zlib-devel.x86_64 # pecl install zip
3つ目のコマンドで下記エラーが発生
# 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't find PHP headers in /usr/include/php The php-devel package is required for use of this command.
pecl install zip
とphpize
でエラーが発生する原因が分かりませんでした。
補足情報(FW/ツールのバージョンなど)
OS:Red Hat Enterprise Linux Server release 7.4 (Maipo)
PHP:7.1.14

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/09 04:41
退会済みユーザー
2018/05/09 04:59
2018/05/09 05:59