Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Errores al instalar o actualizar plugins: PCLZIP_ERR, «cURL error 60» y «archivo incompatible»

Instalar un plugin parece sencillo: WordPress descarga un zip, lo descomprime en una carpeta temporal y lo mueve a wp-content/plugins. Cuando alguno de esos pasos falla, aparece un mensaje técnico. Estos son los tres más comunes.

1. PCLZIP_ERR_MISSING_FILE, PCLZIP_ERR_BAD_FORMAT y similares

WordPress usa una biblioteca llamada PclZip para descomprimir cuando el servidor no tiene la extensión ZipArchive. Los errores que empiezan con PCLZIP_ERR significan que no pudo leer el zip.

Causas más comunes:

  • Falta espacio en disco o se llenó la cuota del hosting. El zip se descarga a medias.
  • La carpeta temporal no existe o no tiene permisos.
  • La descarga se cortó (conexión inestable o tiempo de espera del servidor).
  • El zip está dañado (si lo subiste tú).

Soluciones, en orden:

  1. Revisa el espacio disponible en el panel del hosting.
  2. Vuelve a intentarlo: si fue un corte puntual, funcionará.
  3. Define una carpeta temporal propia. Crea la carpeta wp-content/temp y agrega en wp-config.php, antes de la línea «¡Eso es todo, deja de editar!»:
define( 'WP_TEMP_DIR', __DIR__ . '/wp-content/temp/' );
  1. Pídele a tu hosting que active la extensión zip de PHP (ZipArchive), que es más robusta que PclZip. En cPanel suele estar en Seleccionar versión de PHP → Extensiones.
  2. Como último recurso, descarga el zip en tu computador, descomprímelo y sube la carpeta por FTP a wp-content/plugins.

2. cURL error 60: SSL certificate problem

El mensaje completo suele ser cURL error 60: SSL certificate problem: unable to get local issuer certificate o certificate has expired.

Qué significa: tu servidor intentó conectarse a WordPress.org (o al servidor del plugin) y no pudo verificar su certificado de seguridad. No es un problema de tu sitio ni de tu certificado: es del servidor donde está alojado.

Causas más comunes:

  • La lista de autoridades certificadoras del servidor está desactualizada (el paquete ca-certificates del sistema).
  • La fecha y hora del servidor están mal: si el servidor cree que estamos en otro año, todos los certificados le parecen vencidos o no vigentes.
  • Una versión muy antigua de OpenSSL o de PHP.

Soluciones:

  • Hosting compartido: escribe a soporte con el mensaje exacto. Es un arreglo de su lado.
  • VPS: actualiza los certificados y revisa la hora:
sudo apt update && sudo apt install --only-upgrade ca-certificates
date
timedatectl status

Si la hora está mal, activa la sincronización automática con sudo timedatectl set-ntp true.

En internet circulan «soluciones» que desactivan la verificación de certificados en WordPress con un filtro (https_ssl_verify en false). No lo hagas: tu sitio quedaría descargando código sin comprobar que viene de quien dice venir.

3. «Archivo incompatible» o «No se han encontrado plugins válidos»

Aparece al subir un zip desde Plugins → Añadir nuevo → Subir plugin.

Causas más comunes:

  • Subiste el paquete completo de la tienda. Muchos plugins y temas comerciales se descargan en un zip que contiene documentación, licencias y, dentro, otro zip con el plugin. Hay que descomprimir el primero y subir el de adentro.
  • Es un tema, no un plugin (o al revés). Los temas se suben en Apariencia → Temas → Añadir nuevo.
  • El zip tiene una carpeta de más. El plugin debe estar en la raíz del zip (mi-plugin/mi-plugin.php), no en descargas/mi-plugin/mi-plugin.php.
  • El zip se creó en un Mac y trae una carpeta oculta __MACOSX que confunde al instalador. Vuelve a comprimir solo la carpeta del plugin.

Para comprobar el contenido sin descomprimir:

unzip -l mi-plugin.zip | head -20

Deberías ver una sola carpeta en la raíz con el archivo principal del plugin dentro.

Si el plugin es comercial y el error sigue, descarga de nuevo desde tu cuenta en la tienda donde lo compraste: a veces la descarga se corrompe, y otras veces cambia la estructura del paquete.

¿Te aparece un error al instalar que no está en esta lista? Copia el mensaje exacto en el foro y lo resolvemos.