前提・実現したいこと
PHPのPhpspreadsheetを用いて情報をファイルにいれて出力するものを作成しています。
現在、ZipArchiveクラスが読み込めないというエラーが発生しています。
phpinfo()で情報を出してみましたが、Zipの欄はありませんでした。
何かをインストールすべきなのかと調べてみるもこれといった情報はありませんでした。
発生している問題・エラーメッセージ
Fatal error: Uncaught Error: Class 'ZipArchive' not found
該当のソースコード
PHP
1$zip = new ZipArchive();
補足情報(FW/ツールのバージョンなど)
・PHP ver. 7.3.8
・vscodeを使用
・Windows10
ZipArchive インストール
で結構情報出てきますが、何をどう探したのでしょうか。
情報はmacやlinuxによるものが大半でWindowsに関するもので改善される情報は、現在も探索中ですが、ありませんでした。
質問に書いてないので調べたことすら分かりませんでした。
検索条件に「Windows」も入れては。
ただ、PHPマニュアルにあるように通常通りPHPをインストールされたなら標準機能として搭載されているはずです。
https://www.php.net/manual/ja/zip.installation.php
いずれにしてもインストール手順ありますね。PECL経由云々。
https://www.php.net/manual/ja/zip.installation.php
ここを見る限りだと一般的なWindows環境では標準で組み込まれているようですが、はたしてどのような手順でWindows10にPHPをインストールされたのでしょうか? たとえばxampp環境の場合は名前空間の問題で $zip = new \ZipArchive; で動くなどの情報もあるようです。
https://stackoverflow.com/questions/30558950/ziparchive-not-installed-in-xampp
私は開発ではWindowsを使わないのでよく分かりませんが、PHPの環境(どういう手順でPHPを入れて動かしているか)についてもう少し詳細に書けば、何かしらの回答が出るかもしれません。
PHPのインストールについてはインストールの手順を説明するサイトを見ながら行いました。
私もPHP公式サイトの標準機能搭載については存じております。しかし、恥ずかしい話なのですが、
なぜか使えないのです。もう、どうしていいのかもわからないのです。
>インストールの手順を説明するサイト
これが果たしてなんなのかを疑っています。
探したこと、環境構築の手順含めて質問本文に記載してください。
現状だと見ている人が質問者の状況を再現できないので「入ってないならインストールしては?」くらいしか言えないのです。
windowsの環境について詳しく知りたいです。Xamppなのでしょうか、IISでしょうか、それともWSL(Ubuntu)でしょうか?phpinfoのインフォメーションでphp-zipが入っていないことがわかっているのであれば、そこで対策を立てられるはずです。
参考までにxamppは標準実装ですが
回答1件
あなたの回答
tips
プレビュー