Ich habe ein Problem, dass ich 'Archive_Zip 0.1.1' auf einem Linux-Server installiere, aber wenn ich versuche, das Skript zum Erstellen der Zip-Datei auszuführen, wird der schwerwiegende Fehler angezeigt
Schwerwiegender Fehler: Klasse
ZipArchive
nicht gefunden in ...
wo ich den Code platziere
$zip = new ZipArchive;
var_dump($zip);
$res = $zip->open($filename, ZipArchive::OVERWRITE);
if ($res !== TRUE) {
echo 'Error: Unable to create zip file';
exit;
}
if (is_file($src)) {
$zip->addFile($src);
} else {
// echo "<br>" . dirname(__FILE__) . $src;//'/install1';
if (!is_dir($src)) {
$zip->close();
@unlink($filename);
echo 'Error: File not found';
exit;
}
recurse_zip($src, $zip, $path_length);
}
$zip->close();
echo "<br>file name ".$filename;
Die Klassendatei wird jedoch nicht gefunden.
Bitte sagen Sie mir die Lösung. Was soll ich tun, um das Problem zu beheben? Ich habe auch eine php.ini
Datei in den Ordner gelegt , in dem sich das Skript befindet, aber es funktioniert nicht.
php
zip
ziparchive
Parag Chaure
quelle
quelle
sudo apt-get install php7.2-zip
E: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
mit Ubuntu 14.04 mit PHP 7.2 gebenapt-get install php-zip
.Antworten:
Damit die
ZipArchive
Klasse vorhanden ist, muss in PHP die Zip-Erweiterung installiert sein.Auf dieser Seite finden Sie Installationsanweisungen (sowohl Linux als auch Windows).
quelle
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-zip
. Bearbeiten Sie dann die Datei/etc/php/7.0/cli/php.ini
(Fügen Sie im Abschnitt "Dynamische Erweiterungen" die Zeile hinzuextension=zip.so
). Dies sollte es lösendocker-php-ext-install zip
sudo apt-get install php7.0-zip
Sie den Apache-Server neu starten müssensudo systemctl restart apache2
Auf Amazon ec2 mit Ubuntu + nginx + php7 hatte ich die gleichen Probleme und löste sie mit:
sudo apt-get install php7.0-zip
quelle
sudo apt-get install php7.1-zip
für Ubuntu / php7.1php 7.2
und sagt immerE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
Auf Ubuntu Desktop musste ich tun.
Dadurch wurde die Bibliothek installiert, aber ich bekam immer noch den gleichen Fehler, sodass ich Apache neu starten musste mit:
und es hat funktioniert.
quelle
Zunächst die Lösung für Remote-Server:
Wenn Sie cpanel verwenden , ist möglicherweise die Zip-Erweiterung installiert, aber nicht aktiviert. Sie müssen es aktivieren. In diesem Fall müssen Sie zu cpanel> im Softwareabschnitt gehen> auf PHP-Version klicken . Dann finde zip und überprüfe es. Speichern Sie jetzt.
Sie sollten wie das Bild sehen.
Seite neu laden. Der Fehler sollte verschwinden.
Hinweis: Wenn Sie nicht gefunden haben, wenden Sie sich an den Serveranbieter. Sie werden für Sie installiert.
quelle
Ich sehe es hier nicht, daher möchte ich hinzufügen, dass Sie unter Debian / Ubuntu möglicherweise die Erweiterung aktivieren müssen, nachdem Sie das entsprechende Paket installiert haben. So:
quelle
php7.0-zip
für PHP 7.Wenn Sie WHM zur Verfügung haben, ist es einfacher.
Melden Sie sich bei WHM an .
Gehen Sie zu EasyApache 4 (oder einer anderen Version) auf der Registerkarte Software .
Klicken Sie unter Derzeit installierte Pakete auf Anpassen .
Gehen Sie zu PHP Extensions , in Suchtyp " zip " ( ohne Anführungszeichen ),
Sie sollten 3 Module sehen
überprüfe sie alle,
Klicken Sie einige Male auf die blaue Schaltfläche, um den Vorgang abzuschließen.
Das hat bei mir funktioniert. Zum Glück habe ich WHM zur Verfügung.
quelle
Das hat funktioniert
und kein
php7.0-fpm
manueller Neustart erforderlich .quelle
Sie müssen auch PHP mit Zip-Unterstützung kompilieren. Das Handbuch sagt Folgendes:
Es reicht nicht aus, nur die richtigen Erweiterungen auf dem Server zu installieren. Schauen Sie sich den Link zu den Installationsanweisungen an, den Pekka zuvor gepostet hat. Meine Antwort ist nur eine Klarstellung von ihm.
quelle
Ich hatte das gleiche Problem mit dem installierten CentOS- und cPanel- Server. Ich habe das zipArchive-Paket über cPanel installiert und nicht wie erwartet funktioniert. Nachdem ich es mit so vielen Korrekturen versucht hatte, schlug jeder für mich nur das Folgende vor.
Suchen Sie zuerst den Namen für das richtige Paket mit dem folgenden Befehl
Verwenden Sie dann den folgenden Code.
In meinem Fall war der richtige Code zum Installieren von zipArchive
Ich hatte die Lösung von diesem Link. Wie kann ich zipArchive unter PHP 7.2 mit CentOS 7 einbinden?
Und diese Installation hat irgendwie auch dieses Paket aktiviert und auch die betroffenen Dienste neu gestartet und nach Abschluss der Ausführung des obigen Codes war das zipArchive-Problem verschwunden.
quelle
Centos 6
quelle
PHP 5.2.0 und höher
Linux-Systeme
Um diese Funktionen nutzen zu können, müssen Sie PHP mit Zip-Unterstützung mithilfe der Option --enable-zip configure kompilieren.
Windows
Windows-Benutzer müssen php_zip.dll in php.ini aktivieren, um diese Funktionen nutzen zu können.
quelle
Ich habe dieses Problem bei GCP festgestellt, als ich WordPress in der App Engine Standard-Umgebung bereitgestellt habe. Dies löste es:
quelle
Für PHP 7.x.
Für PHP 5.x.
Starten Sie anschließend den Apache-Server neu
quelle
Für Centos 7 und PHP 7.3 auf Remi
Suchen Sie nach der Zip-Erweiterung:
Der Name der Erweiterung lautet php73-php-pecl-zip.x86_64 . Entfernen Sie das Präfix php73, um es auf einem Server zu installieren, auf dem eine einzelne Version von PHP ausgeführt wird:
Starten Sie PHP neu:
Überprüfen Sie die installierten PHP-Erweiterungen:
quelle
Für CentOS-basierte Server verwenden
Aktivieren Sie es, indem Sie Folgendes ausführen:
echo "extension=zip.so" >> /etc/php.d/zip.ini
quelle
Ich hatte das gleiche Problem und es wurde mit zwei Befehlszeilen gelöst:
sudo apt install php-zip
Starten Sie dann Ihren Webserver für Apache neu
sudo service apache2 restart
quelle
Versuchen Sie schreiben
\ZIPARCHIVE
stattZIPARCHIVE
.quelle
Sie müssen die PHP-Version überprüfen
Wenn die PHP-Version 5.6 ist, müssen Sie PHP5.7-Zip installieren
und dann
Ich hoffe es hilft
quelle
1) Sie sollten
require
Ihre Datei mitZipArchive
Datei.2) Oder verwenden Sie die
__autoload
Klassenmethode. In PHP 5 ist es eine großartige Methode __autoload ().http://www.php.net/manual/en/language.oop5.autoload.php
quelle