Importar archivo XML de WordPress más grande que 8mb

27 ago 2013, 11:59:53
Vistas: 61.5K
Votos: 9

Estoy tratando de importar un archivo XML (de un tema anterior de WordPress) a un nuevo tema de WordPress. El problema es que el archivo XML es de 46MB, mucho más grande que el límite de 8MB de WordPress. ¿Alguien tiene algún consejo o recomendación sobre cómo importar este archivo?

Gracias

apagey

1
Comentarios

Si tienes acceso a la línea de comandos, podrías probar WP_CLI.

Welcher Welcher
23 dic 2014 13:46:02
Todas las respuestas a la pregunta 10
3
12

OPCIÓN 1: Si un archivo WXR de WordPress, un archivo XML exportado desde WordPress, es demasiado grande para importar, hay varias cosas que puedes intentar para superar ese límite.

  • Aumentar la cantidad de memoria que un script de PHP puede consumir. Nota: Si estás usando un servicio de hosting compartido, es posible que necesites pedir a tu proveedor que aumente el límite.

    Aumentar el límite de memoria en php.ini (ej. memory_limit = 64M ;). Muchos hosts pueden no permitir esto.

    Aumentar el límite de memoria vía .htaccess (ej. php_value memory_limit 64M). Muchos hosts pueden no permitir esto.

    Aumentar el límite de memoria vía wp-config.php (ej. define('WP_MEMORY_LIMIT', '64MB');)

  • Aumentar el tiempo máximo que un script de PHP puede ejecutarse. Nota: Si estás usando un servicio de hosting compartido, es posible que necesites pedir a tu proveedor que aumente el límite.

    Aumentar el tiempo máximo de ejecución en php.ini (ej. max_execution_time = 600 ;). Muchos hosts pueden no permitir esto.

  • Aumentar los ajustes de tamaño de archivos de carga en PHP. Nota: Si estás usando un servicio de hosting compartido, es posible que necesites pedir a tu proveedor que aumente el límite.

    Aumentar los valores en php.ini (ej. upload_max_filesize = 64M ; y post_max_size = 64M ;). Muchos hosts pueden no permitir esto.

    Aumentar los valores vía .htaccess (ej. php_value upload_max_filesize 64M y php_value post_max_size = 64M). Muchos hosts pueden no permitir esto.

    Aumentar los valores vía líneas ini_set en wp-config.php. Consulta con tu host para los valores correctos.

  • Aumentar el límite de tamaño de carga de archivos y/o el límite de espacio de carga de archivos:

    Inicia sesión en wp-admin como administrador.

    En el cuadro de navegación de Administración del Sitio, haz clic en "Opciones"

    Desplázate hacia abajo y cambia los ajustes para "Tamaño máximo de archivo para subir" y/o "Espacio de almacenamiento del blog"

  • Comprime el archivo con GZip. En algunos servicios de hosting, un archivo comprimido con gzip puede expandirse automáticamente en segundo plano, sin que WordPress se entere. Esto puede permitirte reducir el tamaño del archivo para que quepa dentro de los límites de tamaño de carga máxima.

    En Windows, usa 7Zip para crear un archivo gz a partir del archivo wxr.

    En Linux, usa el comando gzip en la línea de comandos.

    Asegúrate de que el archivo resultante tenga la extensión ".gz" antes de subirlo, ya que esto suele ser necesario.

    Esto no está garantizado que funcione, ya que depende mucho de la configuración del hosting. Si falla, prueba otro método.

  • Divide el archivo WXR de WordPress en partes más pequeñas separando los datos entre publicaciones y copiando el encabezado/pie en cada archivo.

Como siempre, antes de importar los nuevos archivos XML, haz una copia de seguridad de la base de datos del blog al que estás importando los archivos XML y también sería bueno exportar un archivo XML de ese blog por si acaso.

Por cierto, esta información está disponible en el Codex.

OPCIÓN 2: Definitivamente es más robusto y probablemente más fácil usar el plugin WP Migrate DB Pro (de pago). A pesar del nombre, con un complemento también importa archivos multimedia. Personalmente he encontrado situaciones en las que ninguno de los métodos anteriores funcionó - la única solución fue usar este plugin.

15 nov 2013 23:24:26
Comentarios

La solución con GZip funcionó perfectamente para mí. Un archivo de 25mb se convirtió en uno de 2mb, y WordPress lo entendió perfectamente.

Avin Zarlez Avin Zarlez
26 oct 2017 01:02:47

La solución de importación con GZip funcionó para mí, sin embargo los medios no se subieron

iamkingsleyf iamkingsleyf
29 ago 2018 13:33:59

GZIP fue la mejor opción para mí. 6 MB => 900 KB

alfredo alfredo
26 mar 2022 04:20:56
11

Si tienes acceso al archivo .htaccess en tu carpeta www. Solo incluye las siguientes 2 líneas en el .htaccess:

php_value upload_max_filesize 50M
php_value post_max_size 50M

Otra forma... puedes colocar este fragmento de código en el archivo functions.php de tu tema

@ini_set( 'upload_max_size' , '50M' );
@ini_set( 'post_max_size', '50M');
27 ago 2013 12:02:10
Comentarios

... Temporalmente. Una vez que hayas hecho la importación, probablemente deberías restaurar los valores máximos predeterminados.

User User
27 ago 2013 12:06:22

No tengo acceso al archivo .htaccess, la segunda sugerencia parece viable. ¿Debería colocarse en algún lugar particular del archivo functions.php?

User User
27 ago 2013 12:10:31

Sí, pruébalo y dime si te ayudó.

Prince Singh Prince Singh
27 ago 2013 12:11:17

Desafortunadamente @ini_set( 'upload_max_size' , '50M' ); @ini_set( 'post_max_size', '50M'); no funciona, devuelve un error del servidor. ¿Alguna otra sugerencia? Seguro que alguien se ha encontrado con esto antes.

User User
27 ago 2013 15:28:49

¿tienes acceso al archivo php.ini?

Prince Singh Prince Singh
27 ago 2013 15:37:50

puedes probar esto http://docs.appthemes.com/tutorials/how-to-increase-upload-size-in-wordpress/

Prince Singh Prince Singh
27 ago 2013 15:39:59

No tengo acceso al archivo php.ini y el tutorial que enviaste tampoco funcionó, obtuve el mismo error del servidor.

User User
27 ago 2013 17:41:09

También intenté dividir el archivo y subirlo pero eso tampoco funcionó.

User User
27 ago 2013 18:28:40

¿Sería posible transferir el archivo por FTP y seleccionarlo una vez en el servidor?

User User
29 ago 2013 12:57:17

¿Disculpa, no entendí tu consulta?

Prince Singh Prince Singh
29 ago 2013 13:39:36

No creo que la función de importación de WordPress tenga una opción para elegir un archivo XML que ya esté en el servidor. Es una lástima, realmente ayudaría en una situación como esta.

Ben Miller Ben Miller
5 sept 2013 19:04:29
Mostrar los 6 comentarios restantes
0

Según el codex, deberías poder dividir el archivo XML en partes e importarlas por separado. Así es como lo haría.

El archivo de exportación XML de WordPress está en un formato que llaman WordPress eXtended RSS (WXR), y luce así (algunas líneas omitidas):

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
>

<channel>
    <!-- varias etiquetas sobre tu blog, incluyendo título, enlace, descripción, etc. -->

    <wp:author><!-- una lista de los autores de tus publicaciones aquí --></wp:author>

    <wp:category><!-- una lista de tus categorías --></wp:category>
    <wp:tag><!-- información del primer etiqueta --></wp:tag>
    <wp:tag><!-- información de la segunda etiqueta, etc. --></wp:tag>

    <generator>http://wordpress.org/?v=3.6</generator>

    <item>
        <!-- primera publicación del blog aquí -->
    </item>

    <item>
        <!-- segunda publicación del blog aquí, etc. -->
    </item>
</channel>

Necesitarás dividir esto en al menos 6 archivos diferentes para mantenerte por debajo de tu límite de 8MB. Copia el archivo hasta que tengas 6 o 7 copias del mismo. Luego en cada copia, elimina algunos de los elementos <item> (publicaciones) hasta que estés por debajo de 8MB. Así que cada archivo tendrá información idéntica en la primera parte, y solo diferirá en la sección <item>. Asegúrate de no incluir la misma publicación en más de un archivo, o se importará dos veces. Luego importa cada archivo, uno por uno.

5 sept 2013 19:03:29
0

Existe una aplicación que puedes descargar para dividir archivos XML/WXR grandes en archivos más pequeños.

O puedes cambiar los límites de carga y publicación en tu archivo php.ini dentro de cPanel.

15 oct 2013 16:44:12
0

Esta es la solución... espero que la disfrutes.

Puedes cambiar esa configuración creando un archivo de texto simple y colocándolo en la carpeta wp-admin.

Para crear este archivo, solo tienes que abrir un programa de texto simple como TextEdit en Mac o Bloc de notas en Windows y escribir estas dos líneas de código.

upload_max_filesize = 64M;
post_max_size = 32M;

Puedes poner cualquier valor que desees, yo solo elegí 64 y 32 porque parecían números adecuados. Ahora solo guarda el archivo y nómbralo php.ini. El programa te preguntará si quieres usar la extensión .ini, haz click en usar .ini y guarda. Lo único que queda por hacer es subir el archivo a tu servidor y colocarlo en la carpeta "wp-admin", en cualquier parte de la sección raíz de la carpeta está bien.

Ahora inicia sesión en tu panel de control de WordPress e intenta subir algo grande. No debería darte problemas y podrás subir lo que quieras.

13 abr 2014 06:36:40
2

todo lo que necesitas es este plugin

Aumentar el tamaño máximo de carga de archivos

Descarga e instala desde wordpress.org

ingresa el valor (hasta 250mb) en bytes, y disfruta.

Sin embargo, si estás subiendo un archivo grande, puede que necesites tener instalado el plugin memory bump o aumentar manualmente el tiempo de ejecución

13 oct 2016 15:49:42
Comentarios

Por favor edita tu pregunta para proporcionar un enlace al plugin que estás sugiriendo. También ten en cuenta que este plugin no funcionará si tu proveedor de hosting no te permite incrementar los valores de upload_max_filesize (y posiblemente memory_limit) de PHP.

Pat J Pat J
13 oct 2016 17:48:28

Aquí está el enlace, pero también puedes buscarlo en la sección de Añadir Plugins: https://wordpress.org/plugins/upload-max-file-size/

tmarkiewicz tmarkiewicz
28 nov 2018 22:15:09
0

Si está disponible para ti, WP-CLI ofrece un comando de importación que es sin duda la mejor manera de importar archivos WXR grandes. También ofrece un comando de exportación que te permite exportar archivos WXR y los dividirá en el tamaño de archivo que especifiques.

13 oct 2016 16:15:24
0

Probé este método de Gaia y funcionó sin problemas, gracias Gaia.

Comprime el archivo con GZip. En algunos servicios de hosting, un archivo comprimido con gzip puede descomprimirse automáticamente en segundo plano, sin que WordPress sepa la diferencia. Esto puede permitirte reducir el tamaño del archivo para que se ajuste a las limitaciones de tamaño máximo de carga.

En Windows, usa 7Zip para crear un archivo gz a partir del archivo wxr.

En Linux, usa el comando gzip en la terminal.

Asegúrate de que el archivo resultante tenga la extensión ".gz" antes de subirlo, ya que esto suele ser necesario.

Esto no está garantizado que funcione, ya que depende en gran medida de la configuración del hosting. Si falla, prueba otro método.

•Divide el archivo WXR de WordPress en partes más pequeñas separando los datos entre publicaciones y copiando el encabezado/pie en cada archivo.

25 ene 2017 21:47:32
0

Siempre he encontrado que la forma más sencilla es editando el archivo user.ini en la raíz de la instalación de WP, o agregando uno.

Plugins como WordFence y otros que necesitan operar con configuraciones del sistema, a menudo hacen esto porque funciona bien con WordPress y varios sistemas.

Edita o crea un archivo user.ini en el directorio raíz de WP, copia/pega el código abajo y guárdalo. Si estás usando algún tipo de caché, límpialo y luego actualiza la página donde estás subiendo archivos.

En mi instalación de WP la memoria está configurada a 64M y limité los tamaños de archivo a 5M. Cambia tanto upload_max_filesize como post_max_size a un valor mayor que el archivo que estás subiendo.

; Memoria y tamaños de archivo
memory_limit = 64M
upload_max_filesize = 5M
post_max_size = 5M
file_uploads = On
max_execution_time = 300
; Fin de restricciones de subida
7 sept 2018 11:07:13
0

Probé wpcli ya que es una interfaz de línea de comandos, muchas cosas se manejan directamente desde su lado.

El tamaño de mi archivo XML era de aproximadamente 10 MB.

En wp-config.php

set_time_limit( 86400 );
define('WP_CACHE', false);
define('WP_MEMORY_LIMIT', '1G');
define('WP_MAX_MEMORY_LIMIT', '1G');

Ejemplo de wpcli

$ wp import example.wordpress.2016-06-21.xml --authors=skip
25 jun 2019 10:40:26