php - create - Error fatal: Clase ''ZipArchive'' no encontrada en
ziparchive error (10)
1) Debe solicitar su archivo con el archivo ZipArchive
.
require ''path/to/file/ZipArchive.php'';
2) O use __autoload
método de clase. En PHP 5 es un gran método __autoload ().
function __autoload($class_name) {
require_once $class_name . ''.php'';
}
$obj = new MyClass1(); // creating an object without require.
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: Class
ZipArchive
no encontrado en ...
donde puse 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 puse el archivo php.ini
en la carpeta donde está el script, pero no funciona.
En Amazon ec2 con Ubuntu + nginx + php7, tuve los mismos problemas, lo resolví usando:
sudo apt-get install php7.0-zip
En el escritorio de Ubuntu, tuve que hacer.
sudo apt-get install php5.6-zip
Esto instaló la biblioteca pero seguí recibiendo el mismo error, así que tuve que reiniciar Apache usando:
sudo service apache2 restart
Y funcionó.
Esto funcionó
apt-get install php7.0-zip
y no es necesario reiniciar php7.0-fpm
manualmente.
Desempaquetando
php7.0-zip
(7.0.16-4+deb.sury.org~trusty+1
) ...
Desencadenadores de procesamiento paraphp7.0-fpm
(7.0.11-1+deb.sury.org~trusty+1
) ...
php7.0-fpm
parada / espera
php7.0-fpm
start / running, proceso 1572
php7.0-fpm
parada / espera
php7.0-fpm
start / running, proceso 1777
Configurandophp7.0-zip
(7.0.16-4+deb.sury.org~trusty+1
) ...
entorno local: no se puede establecerLC_ALL
a la configuración regional predeterminada: no existe dicho archivo o directorioCreando el archivo de configuración
/etc/php/7.0/mods-available/zip.ini
con la nueva versión
Desencadenadores de procesamiento paraphp7.0-fpm
(7.0.11-1+deb.sury.org~trusty+1
) ...
php7.0-fpm
parada / espera
php7.0-fpm
start / running, proceso 2354
php7.0-fpm
parada / espera
php7.0-fpm
start / running, proceso 2397
No lo veo aquí, así que me gustaría añadir que en Debian / Ubuntu puede necesitar habilitar la extensión después de instalar el paquete relativo. Asi que:
sudo apt-get install php-zip
sudo phpenmod zip
sudo service apache2 restart
PHP 5.2.0 y posterior
Sistemas Linux
Para utilizar estas funciones, debe compilar PHP con soporte para archivos zip utilizando la opción de configuración --enable-zip.
Windows
Los usuarios de Windows deben habilitar php_zip.dll dentro de php.ini para usar estas funciones.
Para que la clase ZipArchive
esté presente, PHP necesita tener instalada la extensión zip .
Consulte esta página para obtener instrucciones de instalación (tanto Linux como Windows).
Si tiene WHM disponible, es más fácil.
Inicie sesión en WHM .
Vaya a EasyApache 4 (o la versión que tenga) en la pestaña Software .
En Paquetes actualmente instalados, haga clic en Personalizar .
Vaya a Extensiones de PHP , en el tipo de búsqueda " zip " ( sin comillas ),
deberías ver 3 módulos
revise todos ellos,
haga clic en el botón azul varias veces para finalizar el proceso.
Esto funcionó para mí. Afortunadamente, tengo WHM disponible.
También necesita compilar PHP con soporte zip. El manual dice lo siguiente:
Para utilizar estas funciones, debe compilar PHP con soporte para archivos zip utilizando la opción de configuración --enable-zip.
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 de la suya.
En primer lugar, la solución para servidor remoto:
Si está utilizando cpanel , puede tener la extensión zip instalada pero no activada. 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 compruébalo. Ahora guarda.
Actualizar página. El error debería desaparecer.
Nota: si no encuentra, contacte al proveedor del servidor. Ellos lo instalarán por ti.