Ошибка "класс' ZipArchive 'не найден" возникает при выполнении команды db: seed Artisan

Ошибка "класс' ZipArchive 'не найден" возникает при выполнении команды db: seed Artisan

05.12.2019 07:05:28 Просмотров 37 Источник

У меня есть проблема, когда я выполняю следующую команду.

php artisan db:seed --class=QuestionTableSeeder

Сообщение об ошибке выглядит следующим образом.

Symfony\Component\Debug\Exception\FatalThrowableError: Класс 'ZipArchive' не найден

около в /var/www в/ИБК/поставщика/phpoffice/phpspreadsheet/ГРЦ/PhpSpreadsheet/читатель/XLSX-файл.РНР:338 334 / $excel - >removeCellXfByIndex(0); / / удалить стиль по умолчанию 335| } 336| $unparsedLoadedData = []; 337|

338 / $zip = новый ZipArchive(); 339 / $zip- > открыть($pFilename); 340| 341 / / / сначала прочитайте тему, потому что нам нужна цветовая схема при чтении стилей 342| / / ~ http://schemas.openxmlformats.org/package/2006/relationships"

Трассировка исключений:

Один
PhpOffice\PhpSpreadsheet\читателя\файлы XLSX::нагрузки("/tmp/и что Laravel-Excel по-8wjCLq8hS4qVk49C5Rg30jkE6zVErU01.файлы XLSX") в /var/www в/ИБК/поставщика/maatwebsite и Excel/ГРЦ/читателя.РНР:229

2 Maatwebsite\Эксел\читателя::readSpreadsheet() в /var/www в/ИБК/поставщика/maatwebsite и Excel/ГРЦ/читателя.РНР: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, но все равно он не работает.

Версии следующие;

  • РНР : 7.3
  • Laravel : 6.6.0
  • maatwebsite/в Excel : 3.1.17
  • mysql Ver 15.1: дистрибутив 5.5.64-MariaDB, для Linux (x86_64) с использованием readline 5.1
  • CentOS Linux: выпуск 7.7.1908 (ядро)
У вопроса есть решение - Посмотреть?

Ответы - Ошибка "класс' ZipArchive 'не найден" возникает при выполнении команды db: seed Artisan / Error "Class 'ZipArchive' not found" occures when the db:seed Artisan command is executed

Является ответом!
DuckDev84

05.12.2019 08:14:39

Пытаюсь запустить

php -m | grep zip

Если отсутствует показ " zip " на выходном CLI, это означает, что вы не установили расширение PHP zip. Вы должны быть установлены.

yum install -y zip php-zip php-pecl-zip

Надеюсь, это поможет.

https://stackoverflow.com/questions/59188094/error-class-ziparchive-not-found-occures-when-the-dbseed-artisan-command-is/59188646#comment104599495_59188646
Это было решено! Когда я запустил эту команду, ничего не было показано. php -m | grep zipпоэтому я выполнил команду, которой вы меня научили. Наконец, сеялка сработала. Большое спасибо!
Закрыть X