Tengo un problema al instalar 'Archive_Zip 0.1.1' en el servidor Linux, pero cuando intento ejecutar el script para crear el archivo zip, aparece el error fatal
Error fatal: clase
ZipArchive
no encontrada en ...
donde pongo el código
$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;
pero no encuentra el archivo de clase.
Por favor dime la solución. ¿Qué debo hacer para resolver el problema? También pongo el php.ini
archivo en la carpeta donde está el script, pero no funciona.
php
zip
ziparchive
Parag Chaure
fuente
fuente
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'
usando ubuntu 14.04 con php 7.2apt-get install php-zip
.Respuestas:
Para que la
ZipArchive
clase esté presente, PHP necesita tener instalada la extensión zip .Consulte esta página para obtener instrucciones de instalación (Linux y Windows).
fuente
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-zip
. Luego, edite el archivo/etc/php/7.0/cli/php.ini
(en la sección "Extensiones dinámicas", agregue la líneaextension=zip.so
). Esto debería resolverlodocker-php-ext-install zip
sudo apt-get install php7.0-zip
que deba reiniciar el servidor apachesudo systemctl restart apache2
En Amazon ec2 con Ubuntu + nginx + php7, tuve los mismos problemas, lo resolví usando:
sudo apt-get install php7.0-zip
fuente
sudo apt-get install php7.1-zip
para Ubuntu / php7.1php 7.2
y siempre diceE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
En el escritorio ubuntu, tuve que hacer.
Esto instaló la biblioteca pero seguí recibiendo el mismo error, así que tuve que reiniciar Apache usando:
Y funcionó.
fuente
En primer lugar, la solución para el servidor remoto:
Si está utilizando cpanel, es posible que tenga instalada la extensión zip pero no la active. Necesitas activarlo. Para este caso, debe ir a cpanel> dentro de la sección de software> hacer clic en la versión de PHP . Luego encuentra zip y revísalo. Ahora guarda.
Deberías ver como la imagen.
Actualizar página. El error debería desaparecer.
Nota: Si no lo encuentra, póngase en contacto con el proveedor del servidor. Se instalarán por ti.
fuente
No lo veo aquí, así que me gustaría agregar que en Debian / Ubuntu es posible que deba habilitar la extensión después de instalar el paquete relativo. Entonces:
fuente
php7.0-zip
para PHP 7.Si tiene WHM disponible, es más fácil.
Inicie sesión en WHM .
Vaya a EasyApache 4 (o cualquier versión que tenga) en la pestaña Software .
En Paquetes actualmente instalados, haga clic en Personalizar .
Vaya a Extensiones PHP , en el tipo de búsqueda " zip " ( sin comillas ),
deberías ver 3 módulos
verifíquelos todos
Haga clic en el botón azul varias veces para finalizar el proceso.
Esto funcionó para mí. Afortunadamente tengo WHM disponible.
fuente
Esto funcionó
y no es necesario reiniciar
php7.0-fpm
manualmente.fuente
También necesita compilar PHP con soporte zip. El manual dice lo siguiente:
No es suficiente simplemente instalar las extensiones correctas en el servidor. Eche un vistazo al enlace de instrucciones de instalación que Pekka publicó anteriormente. Mi respuesta es solo una aclaración suya.
fuente
Tuve el mismo problema con CentOS y el servidor instalado cPanel . Instalé el paquete zipArchive a través de cPanel y no funcionó como se esperaba. Después de probar con tantas correcciones sugeridas en todas partes, solo lo siguiente funcionó para mí.
Primero encuentre el nombre del paquete correcto con el siguiente comando
Luego usa el siguiente código.
En mi caso, el código correcto para instalar zipArchive era
Tuve la solución desde este enlace. ¿Cómo puedo instalar zipArchive en PHP 7.2 con CentOS 7?
Y esta instalación de alguna manera habilitó ese paquete también y también reinició los servicios efectivos y después de que se completó la ejecución del código anterior, el problema zipArchive desapareció.
fuente
Centos 6
fuente
PHP 5.2.0 y posterior
Sistemas Linux
Para utilizar estas funciones, debe compilar PHP con soporte zip utilizando la opción de configuración --enable-zip.
Ventanas
Los usuarios de Windows deben habilitar php_zip.dll dentro de php.ini para poder usar estas funciones.
fuente
Enfrenté este problema en GCP al implementar WordPress en el entorno estándar de App Engine. Esto lo resolvió:
fuente
Para PHP 7.x
Para PHP 5.x
Y luego reinicie el servidor Apache
fuente
Para Centos 7 y PHP 7.3 en Remi
Busque la extensión zip:
El nombre de la extensión es php73-php-pecl-zip.x86_64 . Para instalarlo en el servidor que ejecuta una versión única de PHP, elimine el prefijo php73:
Reiniciar PHP:
Verifique las extensiones PHP instaladas:
fuente
Para uso del servidor basado en CentOS
Habilítelo ejecutando:
echo "extension=zip.so" >> /etc/php.d/zip.ini
fuente
Tuve el mismo problema y se resolvió usando dos líneas de comando:
sudo apt install php-zip
luego reinicie su servidor web, para Apache
sudo service apache2 restart
fuente
Intenta escribir en
\ZIPARCHIVE
lugar deZIPARCHIVE
.fuente
Necesitas verificar la versión de PHP
Si la versión php es 5.6, entonces necesita instalar php5.7-zip
y entonces
Espero eso ayude
fuente
1) Debe
require
su archivo conZipArchive
archivo.2) O use el
__autoload
método de clase. En PHP 5 es un gran método __autoload ().http://www.php.net/manual/en/language.oop5.autoload.php
fuente