Uncaught Error: Class 'ZipArchive' not found でハマった件について


環境

PHP 7.3.19
mysql Ver 8.0.20
Laravel Framework 7.7
centOS8

エラーの出現

ローカル環境でアプリを作成し、
centOSにデプロイ作業をしている最中にこのエラーが発生しました。

controller
$zip = new ZipArchive(); //オープン

と書いている部分が
error
Uncaught Error: Class 'ZipArchive' not found

と表示されてしまいました。

エラーの意味と解決策

エラーの意味

ZipArchiveというクラスが無いと言っています。
その為php-pecl-zipというモジュールを入れてやればOK!

解決策

私はPHP7.3を利用しているので「php73 php-pecl-zip」というモジュールをインストールするようです。

rootuser
yum -y install php73 php-pecl-zip

インストールスタート

コンプリート!と表示されたのでサーバを再起動して変更を反映させます。

rootuser
systemctl restart httpd.service

無事zipのダウンロードが出来るようになりました。