Informática y Software Práctico

XAMPP configurar Opencart: el error de la carpeta htdocs

Post actualizado el día octubre 29, 2026 by DeiviSanzPlay

Si buscas cómo hacer XAMPP configurar Opencart y tu tienda aparece en blanco o te lanza un error 500, lo más probable es que hayas caído en el fallo más repetido: subir los archivos a htdocs/opencart y luego editar las URLs de la base de datos como si estuvieras en producción. Ese desajuste entre la ruta física en el disco y lo que OpenCart espera en las tablas oc_setting y oc_store rompe la tienda antes de que llegues a ver el instalador.

XAMPP configurar Opencart no va de rellenar formularios, va de respetar el orden. Primero el servidor, después la base de datos, y al final el asistente web. Cuando se altera ese orden, el famoso error de conexión a MySQL («Error: Could not make a database link») aparece aunque el usuario y la contraseña sean correctos.

La trampa silenciosa de la carpeta raíz

Apache en XAMPP sirve por defecto desde C:xampphtdocs. Si descomprimes el ZIP de OpenCart y dejas la carpeta tal cual, la URL de acceso se convierte en http://localhost/opencart/upload/. Mucha gente abre esa ruta en el navegador, termina el instalador y luego mueve los archivos a htdocs/opencart para «limpiar» la URL. Ahí empieza el problema: la base de datos sigue apuntando a /opencart/upload/.

La solución real es decidir la ruta antes de ejecutar el asistente. Mueve el contenido de upload a la carpeta final, abre http://localhost/opencart/ y deja que el instalador escriba las rutas correctas. Si ya instalaste y quieres cambiar, tendrás que editar manualmente las tablas con phpMyAdmin, algo que en OpenCart 4 se complica porque las rutas viven en oc_setting con claves como config_url y config_ssl.

Extensiones PHP que OpenCart exige y XAMPP no activa

XAMPP trae muchas extensiones desactivadas por defecto. OpenCart necesita gd, zip, curl, mbstring y mysqli. Si falta alguna, el instalador te deja avanzar pero la tienda falla al cargar imágenes o al procesar pagos. El fallo típico es el mensaje «GD library is not installed» justo cuando intentas subir el logo.

Edita C:xamppphpphp.ini, quita el punto y coma delante de extension=gd y reinicia Apache desde el panel de control. No basta con reiniciar el servicio desde Windows; el botón Stop y Start de XAMPP es el que recarga la configuración. En algunas versiones de PHP 8 el nombre cambia a extension=gd2, así que revisa el comentario que acompaña a la línea.

El puerto 3306 ocupado: el error que nadie mira

Si tienes MySQL instalado aparte, o un servicio de MariaDB corriendo como daemon, XAMPP no podrá levantar su propio MySQL. El instalador de OpenCart mostrará un error de conexión que parece de credenciales, pero en realidad el puerto 3306 está secuestrado. Abre una consola y ejecuta netstat -ano | findstr :3306 para ver qué proceso lo ocupa.

Esto no funciona si tu intención es usar el MySQL del sistema en lugar del de XAMPP. OpenCart se conecta igual, pero las rutas de phpMyAdmin y los sockets cambian, y XAMPP se queja al arrancar. Para un entorno de pruebas local, lo limpio es detener el servicio externo y dejar que XAMPP gestione su propio motor.

Un caso real: la tienda que funcionaba hasta reiniciar

Un compañero montó una demo de OpenCart 3 en XAMPP, todo perfecto durante la sesión. Al día siguiente, al arrancar el equipo, la tienda lanzaba «No such file or directory» al cargar el CSS. El motivo: el asistente había guardado config_url con la IP dinámica que el router le asignó aquel día. Al cambiar la IP, las rutas absolutas apuntaban a un host inexistente.

En local, conviene fijar http://localhost/opencart/ y no la IP de la red. Si necesitas probar desde el móvil, reserva una IP estática en el router antes de instalar. Es un detalle que casi nadie documenta y que provoca horas de depuración.

Cuándo XAMPP no es la mejor opción

XAMPP configurar Opencart es cómodo para aprender, pero no sirve para medir rendimiento. Apache con mod_php y MySQL sin caché de consultas da cifras que no se parecen a un hosting real con PHP-FPM y OpCache. Si buscas estimar tiempos de carga, usa Docker con un stack equivalente al de producción o un VPS de pruebas. Tampoco lo recomiendo para validar extensiones de pago que dependen de cron; XAMPP en Windows no maneja bien las tareas programadas.

La documentación oficial de OpenCart y las notas de Apache Friends son la referencia para versiones y requisitos. Contrasta siempre la versión de PHP que soporta tu edición de OpenCart antes de descargar el ZIP; una incompatibilidad de versión produce errores que parecen de configuración y no lo son.


Sobre el autor: DeiviSanzPlay — Soy David Sanz, Editor y Responsable de Contenidos. Mi trabajo consiste en revisar, corregir y mejorar los contenidos de este blog para que la información sea clara, útil y esté bien estructurada. Trabajo con diferentes temáticas y verticales, por lo que una parte importante de mi día a día es analizar cada contenido, cuidar la redacción y asegurar que el lector encuentre información de calidad. Me gusta prestar atención a los detalles. Desde una corrección de estilo hasta la organización de un artículo, todo cuenta cuando se trata de crear contenidos que realmente aporten valor y sean fáciles de entender. En este blog encontrarás artículos sobre diferentes temas y sectores. Mi responsabilidad es cuidar y supervisar cada contenido para que mantenga unos estándares de calidad y ofrezca una buena experiencia a quien nos visita. Porque para mí, un buen contenido no consiste únicamente en escribir. También hay que revisar, contrastar, ordenar y pensar en la persona que está al otro lado de la pantalla.

Perfiles verificables: Sitio web

Publicado el 29 de October de 2026. Última revisión: 29 de October de 2026.