Cómo copiar un sitio web PHP a otro servidor
Has invertido tiempo y dinero configurando tu web PHP perfectamente. Ahora necesitas copiarla a otro servidor o carpeta distinta en el actual. Tienes varias opciones. Usa un script PHP para copiar los archivos al nuevo destino. Solo crea el script, súbelo a tu servidor y ejecútalo. Todos los archivos de tu sitio se copiarán al nuevo destino.
Paso 1: Crear script PHP
Abre un editor de texto (Bloc de notas) o autor web. "Archivo" > "Nuevo".
Paso 2: Código básico para un archivo
Escribe el siguiente código PHP para copiar un archivo:
bool copy (string $origen, string $destino [, resource $contexto])
Sin comillas. Cambia "$origen" por la ruta del archivo PHP a mover. Cambia "$destino" por la ruta de destino.
Paso 3: Script para copiar directorio completo (public_html)
Para ahorrar tiempo con muchos archivos, usa este script recursivo para copiar todo el directorio public_html a otra ubicación:
<?php
function copiar_todo($origen, $destino) {
$dir = opendir($origen);
@mkdir($destino);
while (false !== ($archivo = readdir($dir))) {
if ($archivo != '.' && $archivo != '..') {
if (is_dir($origen . '/' . $archivo)) {
copiar_todo($origen . '/' . $archivo, $destino . '/' . $archivo);
} else {
copy($origen . '/' . $archivo, $destino . '/' . $archivo);
}
}
}
closedir($dir);
}
?>
Guarda como archivo PHP (ej. copiar.php) y súbelo a tu carpeta public_html. Ejecútalo accediendo a su URL en el navegador. Indica el destino y deja que el script trabaje.
Consejo crucial: Base de datos
Este script solo copia archivos PHP, no la base de datos. Debes exportar los datos de tu base de datos e importarlos en una nueva en el nuevo servidor. Ve a phpMyAdmin en tu cPanel (herramienta de gestión del hosting), selecciona la base de datos y clic en "Exportar". Se exportará como SQL (no CSV, mejor SQL para estructura y datos). En el nuevo servidor, crea la BD e "Importar" el archivo SQL.
Métodos alternativos y mejores prácticas:
- rsync / scp (SSH): Más rápido, fiable, preserva permisos, dueños, enlaces simbólicos.
rsync -avz /ruta/origen/ usuario@servidor_destino:/ruta/destino/- Panel de hosting (cPanel, Plesk): "Copiar cuenta" / "Backup/Restore" / "Migración".
- Duplicator / All-in-One WP Migration (WordPress): Plugins que empaquetan archivos + BD en un instalador.
- Git / CI-CD: Despliegue profesional desde repositorio.
- ·Cómo copiar cinta Betamax a CD: Digitalización y compresión de vídeo
- ·Cómo copiar un DVD a iPod Touch (iTouch)
- ·Cómo convertir páginas web a texto sin formato
- ·Cómo crear un sitio web para un proyecto escolar
- ·Cómo crear un sitio web para adultos
- ·Cómo copiar un archivo ZIP
- ·Cómo crear un sitio web ficticio (plantilla) con KompoZer
- ·Cómo reproducir un archivo de sonido en una página web con PHP y HTML
- Cómo copiar un DVD a una tarjeta SD
- Cómo ver un sitio web PHP en localhost
- Cómo crear una vCard (VCF) para web: manualmente o con Outlook
- Cómo crear un sitio web de compraventa (marketplace) tipo Wallapop, eBay, Etsy (guía 2024)
- Cómo confiar en un sitio web en mi navegador
- Cómo copiar un archivo PDF a un CD
