猿问

执行 db:seed Artisan 命令时出现错误“找不到类 'ZipArchive'”

执行以下命令时出现问题。

php artisan db:seed --class=QuestionTableSeeder

错误信息如下。

Symfony\Component\Debug\Exception\FatalThrowableError:找不到类“ZipArchive”

在 /var/www/csi/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php:338 334| $excel->removeCellXfByIndex(0); // 删除默认样式 335| } 336| $unparsedLoadedData = []; 337|

338| $zip = 新的 ZipArchive(); 339| $zip->open($p文件名); 340| 341| // 先看主题,因为我们在看样式的时候需要配色方案 342| //~ http://schemas.openxmlformats.org/package/2006/relationships "

异常跟踪:

1
PhpOffice\PhpSpreadsheet\Reader\Xlsx::load("/tmp/laravel-excel-8wjCLq8hS4qVk49C5Rg30jkE6zVErU01.xlsx") /var/www/csi/vendor/maatwebsite/excel/src/Reader.php:229

2 Maatwebsite\Excel\Reader::readSpreadsheet() /var/www/csi/vendor/maatwebsite/excel/src/Reader.php:215

请使用参数 -v 查看更多详细信息。

QuestionTableSeeder 类如下。

<?php


use App\Imports\QuestionImport;

use App\ORM\Question;

use Illuminate\Database\Seeder;

use Maatwebsite\Excel\Facades\Excel;


class QuestionTableSeeder extends Seeder

{

    public function run(): void

    {

        DB::statement('set foreign_key_checks=0');

        Question::truncate();

        DB::statement('set foreign_key_checks=1');

        Excel::import(new QuestionImport(), 'database/seeds/data/questions.xlsx');

    }

}

请告诉我解决方案。我应该怎么做才能解决问题?我已经安装了 php7.3-zip 和 php73-php-pecl-zip,然后还重新启动了 Apache,但它仍然无法正常工作。

版本如下;

  • PHP : 7.3

  • 拉拉维尔:6.6.0

  • 自定义网站/excel:3.1.17

  • mysql Ver 15.1:Distrib 5.5.64-MariaDB,适用于 Linux (x86_64),使用 readline 5.1

  • CentOS Linux:发布 7.7.1908(核心)


拉莫斯之舞
浏览 175回答 1
1回答

喵喵时光机

尝试运行php&nbsp;-m&nbsp;|&nbsp;grep&nbsp;zip如果在输出 CLI 上缺少“zip”显示,则意味着您没有安装 php zip 扩展。你应该安装。yum&nbsp;install&nbsp;-y&nbsp;zip&nbsp;php-zip&nbsp;php-pecl-zip希望有帮助。
随时随地看视频慕课网APP
我要回答