Ziparchive kelas tidak ditemukan phpspreadsheet

Untuk menggunakan format ekspor XLSX, Anda harus memastikan bahwa konfigurasi PHP Anda menyertakan ekstensi Zip

Untuk informasi lebih lanjut tentang kesalahan khusus ini, ada utas Stackoverflow yang menurut saya sangat membantu. https. //stackoverflow. com/questions/3872555/fatal-error-class-ziparchive-not-found-in

Saya baru saja mengunduh paket PhpSpreadsheet melalui komposer dan saya mencoba membuat spreadsheet Excel. Tapi yang saya dapatkan hanyalah error "Class ZipArchive not found". Saya bekerja di Windows. Di localhost saya menghasilkan Excel dengan benar. Versi php localhost saya adalah 7. 0. 2. Tetapi server Versi Php adalah 5. 6. Saya tidak dapat menghasilkan excel di server. Saya mendapatkan kesalahan "*Class ZipArchive not found".

Adakah yang bisa membantu?

Solusi terbaik

Saya pikir Anda hanya perlu ekstensi "zip" PHP di server Anda. Jika saya mengerti dengan baik, mesin dev Anda ada di Windows. Tapi mesin "produksi" Anda menyala. Linux?

Jika itu Debian. apt-get install php-zip

Jika itu RedHat atau apapun yum install...

Solusi Terkait

Php – Kesalahan fatal. Kelas 'ZipArchive' tidak ditemukan di

Agar kelas ZipArchive_ hadir, PHP harus menginstal ekstensi zip

Lihat halaman ini untuk instruksi instalasi (Linux dan Windows)

Php – Kesalahan fatal. Kelas 'ZipArchive' tidak ditemukan (PHP 5. 3. 1)

Untuk mengaktifkan ZipArchive, Anda perlu mengkompilasi PHP dengan opsi --enable-zip, sebagaimana dinyatakan dalam dokumentasi

Apakah PHP Anda mengatakan tidak dapat menemukan kelas ZipArchive?

Ziparchive kelas tidak ditemukan phpspreadsheet

Anda mungkin juga ingin membaca tentang. Laravel untuk Pengrajin Web

Anda akan melihat kesalahan berikut

PHP Fatal error: Uncaught Error: Class 'ZipArchive' not found

Juga, di bawah ini adalah contoh kode yang mungkin Anda gunakan

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_

Daftar isi

Apa arti kesalahan ini?

Kesalahan ini berarti PHP tidak dapat menemukan kelas ZipArchive. Oleh karena itu, PHP perlu menginstal ekstensi zip agar Kelas ZipArchive hadir

Anda dapat memeriksa apakah ZipArchive diinstal dengan menggunakan file info PHP

Lihat contoh di bawah ini

<?php
phpinfo();
?>

File info PHP Anda harus mengembalikan sesuatu seperti ini

Ziparchive kelas tidak ditemukan phpspreadsheet

Selanjutnya, gulir ke bawah hingga Anda menemukan tajuk "Konfigurasi" dan kemudian lanjutkan hingga Anda melihat yang berikut ini

Ziparchive kelas tidak ditemukan phpspreadsheet

Anda akan mengetahui bahwa kelas ZipArchive tidak diaktifkan jika Anda tidak dapat melihatnya. Konfigurasi "Zip" "diaktifkan"

Anda juga dapat memeriksa apakah modul Zip diaktifkan menggunakan CLI

Tampilkan dikompilasi dalam modul menggunakan. php -m

user@server:/var/www/html# php -m
[PHP Modules]
Core
ctype
date
dom
zip
zlib

[Zend Modules]

Karena daftar modul PHP bisa sangat besar, pertimbangkan untuk menggunakan perintah grep untuk memfilter daftar Anda

php -m | grep -i zip
_

Atau Anda dapat menggunakan “php -m” untuk menampilkan informasi PHP di CLI

Cara mengaktifkan ZipArchive di Windows

Pengguna Windows memilikinya dengan mudah. Anda tidak perlu melakukan apapun jika menggunakan PHP 5. 3 atau lebih baru. Jadi, jangan percaya bahwa kode yang ditulis dan dievaluasi di Windows akan berfungsi di Linux

Mulai dari PHP5. 3, ekstensi ini sudah terpasang. Sebelumnya, pengguna Windows perlu mengaktifkan php_zip. dll di dalam php. ini  untuk menggunakan fungsi ini

https. // www. php. net/manual/en/zip. instalasi. php

Sebelum Anda mengaktifkan ZipArchive

Anda dapat mengaktifkan dukungan Zip selama instalasi PHP dan setelahnya. Posting ini akan fokus pada instalasi ZipArchive setelah fakta di Linux. Silakan baca instruksi menginstal Zip dari manual PHP untuk informasi lebih lanjut

Sebelum Anda melanjutkan, perhatikan perintah bermanfaat berikut untuk mendapatkan versi PHP Anda saat ini

user@server:/var/www/html# php -v
PHP 7.4.2 (cli) (built: Feb  1 2020 19:39:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Perhatikan versi dalam contoh di atas. 7. 4. 2. Oleh karena itu, kita perlu menginstal modul Zip untuk PHP versi 7. 4. Harap ingat untuk mengubah nomor versi agar sesuai dengan milik Anda jika perintah memerlukannya

Juga, pastikan paket Anda mutakhir menggunakan perintah “apt-get update”.

user@server:/var/www/html# apt-get update
Hit:1 http://security.debian.org/debian-security buster/updates InRelease
Hit:2 http://deb.debian.org/debian buster InRelease
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Reading package lists.. Done
_

Terakhir, Anda mungkin perlu menentukan lokasi php yang dimuat. file ini. Harap dicatat bahwa CLI menggunakan versinya

Gunakan perintah berikut untuk membantu Anda

user@server:/var/www/html# php --ini
Configuration File (php.ini) Path: /usr/local/etc/php
Loaded Configuration File:         /usr/local/etc/php/php.ini
Scan for additional .ini files in: /usr/local/etc/php/conf.d
Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-redis.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini

Cara mengaktifkan ZipArchive di Docker

Pertama, jalankan perintah berikut untuk menginstal Zip dan kompilasi PHP dengan benar untuk menjalankannya

apt-get install -y libzip-dev zip && docker-php-ext-install zip
_

Di bawah ini Anda akan melihat cara me-restart Apache atau NGINX. Setelah Anda menginstal, Anda telah selesai

Perhatikan bahwa Anda akan mendapatkan "E. Kesalahan paket 'php-XXX' tidak memiliki kandidat instalasi" jika Anda mencoba menginstal salah satu paket PHP Debian. Kesalahan ini adalah perilaku default yang diinginkan dari image PHP Docker resmi

Anda dapat melihat contoh perilaku ini di bawah ini

user@server:/var/www/html# apt-get install php-zip
Reading package lists.. Done
Building dependency tree
Reading state information.. Done
Package php-zip is a virtual package provided by:
  php7.3-zip 7.3.14-1~deb10u1 [Not candidate version]
  php7.3-zip 7.3.11-1~deb10u1 [Not candidate version]

E: Package 'php-zip' has no installation candidate
_

Anda juga bisa mendapatkan kesalahan berikut jika Anda menentukan versi tertentu

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_0

Cara mengaktifkan ZipArchive di Linux di Ubuntu

Perintah instal PHP Zip

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_1

Outputnya akan menghasilkan sesuatu seperti ini

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_2

Harap dicatat bahwa Anda mungkin perlu menentukan versi PHP jika Anda mengupgrade ke versi terbaru PHP

Jangan lupa untuk me-restart server web Anda

File konfigurasi (php. ini) hanya dibaca ketika PHP atau server web dimulai. Sama, php. File ini hanya dibaca saat pemanggilan untuk versi CGI dan CLI

Anda dapat me-restart Apache menggunakan

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_3

Demikian juga, Anda dapat memulai ulang NGINX menggunakan

$zip = new \ZipArchive();
$x = $zip->open($target_path);
if ($x === true) {
    $zip->extractTo($target_dir . $name[0]);
    $zip->close();
}
_4

Membungkus

Sangat mudah untuk mendapatkan file zip situs web Anda dan menghindari kesalahan fatal. Saya harap Anda sekarang tahu cara mengaktifkan ZipArchive untuk PHP. Tidak ada yang suka melihat “Kesalahan fatal. Kelas 'ZipArchive' tidak ditemukan di"

Anda mungkin juga tertarik

  • Cara menggunakan Tar dan Zip
  • Panggil ke Fungsi Tidak Terdefinisi idn_to_ascii()
  • Cara melihat kesalahan shell_exec() di PHP
  • Instal Kali Linux menggunakan VirtualBox di Ubuntu
  • Cara menguji kode PHP menggunakan PHPUnit


Tentang Penulis

Tim redaksi Anto sangat menyukai cloud seperti Anda. Setiap anggota tim redaksi Anto adalah pakar Cloud di bidangnya masing-masing. Anto Online sangat bangga membantu sesama penggemar Cloud. Beri tahu kami jika Anda memiliki ide bagus untuk topik berikutnya. Hubungi Anto Online jika ingin berkontribusi

Bagaimana cara menambahkan ZipArchive di PHP?

Cara mengaktifkan ZipArchive untuk PHP .
Kesalahan fatal PHP. Kesalahan yang tidak tertangkap. Kelas 'ZipArchive' tidak ditemukan
php -m. grep -i zip
apt-get install -y libzip-dev zip && docker-php-ext-install zip
sudo apt-get install -y php-zip
layanan restart apache2
layanan nginx restart

Bagaimana cara mengunduh PhpSpreadsheet?

Gunakan komposer untuk menginstal PhpSpreadsheet ke dalam proyek Anda . Atau unduh juga dokumentasi dan sampel jika Anda berencana untuk menggunakannya. Cara yang baik untuk memulai adalah menjalankan beberapa sampel. Jangan lupa mengunduhnya melalui flag --prefer-source composer.