システムエラー

【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になっていれば有効になっています。

これで解決です!

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

アーカイブ

PAGE TOP