システムエラー

PHP

【PHP】ZIP圧縮で「Uncaught Error: Class 'ZipArchive' not found」というエラーが!

【PHP ZipArchive】ZIPへの圧縮でエラー

今日は久しぶりにPHPのエラーの投稿です。

ファイルをZIPに固めてダウンロードさせるシステムを作成しようと、

$zip = new ZipArchive(); //オープン
$rs= $zip->open("パス", ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
if($rs!== true) exit("圧縮エラー[" . $rs . "]");


$zip->close(); //クローズ

とったコードを書いていたのですが、

Uncaught Error: Class 'ZipArchive' not found

というエラーが出てしまいました。。。

ZipArchiveというクラスが無いです!と言っているだけなので、
php-zipを入れてやればOKなはずです。

利用しているサーバのPHPのバージョンはPHP7.1.6と少し古めですが、
PHP7.1を利用している場合には「php71-pecl-zip」というモジュールをインストールするようです。

サーバは、CentOS7です。

なので、

# yum -y install php71-pecl-zip

とすればいいはずが、

今度は、

No package php71-pecl-zip available.

というエラーが!!

WEB環境を構築したのがかなり前なのですっかり忘れていたのですが、
こちらのサーバはRemiリポジトリを追加してPHP7.1をインストールしていました。

この場合には、Remiリポジトリから該当のモジュールをインストールします。

ということで、

# yum -y install --enablerepo=remi-php71 php-pecl-zip

とすれば問題なくインストールまで完了です。
php-pecl-zipのインストール完了

あとは、
インストールしたモジュールを反映させるために、Apacheを再起動です。
# systemctl restart httpd.service

余裕のある方は、インストールしたモジュールが問題なく有効になっているかも確認してみて下さい。
phpinfo()で簡単に調べることができます。
PHP ZIPライブラリの確認
※Zipがenabledになっていれば有効になっています。

これで解決です!

WordPress短期学習プログラム

関連記事

  1. PHP

    split()関数とexplode()関数

    サーバーのバージョンを5.3へアップした途端、PHP Deprec…

  2. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】メモリ使用量を測定

    memory_get_usage:PHPのスクリプトに割り当て…

  3. MySQL(マイエスキューエル)

    PHP

    MySQLのトランザクション処理

    今日は久しぶりにはまりました。現在、バッチ処理…

  4. PHP(ピー・エイチ・ピー)

    PHP

    【PHP】「max_file_uploads」で同時にアップロード可能なファイル数の上限を変更

    同時にアップロー出来るファイルの数を設定する場合には、pn…

  5. Database(DB:データベース)

    PHP

    【PostgreSQL+PHP】pg_num_rows、pg_affected_rows、pg_af…

    最近、データベースとしてPostgreSQLを利用する機会が何…

  6. PHP(ピー・エイチ・ピー)

最近の記事

  1. PHP(ピー・エイチ・ピー)
  2. PHP(ピー・エイチ・ピー)
  3. WP:WordPress(ワードプレス)
  4. WP:WordPress(ワードプレス)
  5. WP:WordPress(ワードプレス)
  6. Security(セキュリティ)
  7. WP:WordPress(ワードプレス)
  8. WP:WordPress(ワードプレス)
  9. WP:WordPress(ワードプレス)
  10. アフィリエイト
PAGE TOP