Importare file XML WordPress più grande di 8MB

27 ago 2013, 11:59:53
Visualizzazioni: 61.5K
Voti: 9

Sto cercando di importare un file XML (da un precedente tema WordPress) in un nuovo tema WordPress. Il problema è che il file XML è di 46MB, molto più grande del limite di 8MB di WordPress. Qualcuno ha consigli/raccomandazioni su come importare questo file?

Grazie

apagey

1
Commenti

Se hai accesso alla riga di comando, potresti provare WP_CLI.

Welcher Welcher
23 dic 2014 13:46:02
Tutte le risposte alla domanda 10
3
12

OPZIONE 1: Se un file WordPress WXR, un file XML esportato da WordPress, è troppo grande per essere importato, ci sono diverse cose che puoi provare per superare quel limite.

  • Aumenta la quantità di memoria che uno script PHP può consumare. Nota: Se utilizzi un servizio di hosting condiviso, potresti dover chiedere al tuo host di aumentare il limite.

    Aumenta il limite di memoria in php.ini (es. memory_limit = 64M ;). Molti host potrebbero non permetterlo.

    Aumenta il limite di memoria via .htaccess (es. php_value memory_limit 64M). Molti host potrebbero non permetterlo.

    Aumenta il limite di memoria via wp-config.php (es. define('WP_MEMORY_LIMIT', '64MB');)

  • Aumenta il tempo massimo di esecuzione di uno script PHP. Nota: Se utilizzi un servizio di hosting condiviso, potresti dover chiedere al tuo host di aumentare il limite.

    Aumenta il tempo massimo di esecuzione in php.ini (es. max_execution_time = 600 ;). Molti host potrebbero non permetterlo.

  • Aumenta le impostazioni di dimensione dei file caricati in PHP. Nota: Se utilizzi un servizio di hosting condiviso, potresti dover chiedere al tuo host di aumentare il limite.

    Aumenta i valori delle impostazioni in php.ini (es. upload_max_filesize = 64M ; e post_max_size = 64M ;). Molti host potrebbero non permetterlo.

    Aumenta i valori delle impostazioni via .htaccess (es. php_value upload_max_filesize 64M e php_value post_max_size = 64M). Molti host potrebbero non permetterlo.

    Aumenta i valori delle impostazioni via righe ini_set in wp-config.php. Chiedi al tuo host i valori corretti.

  • Aumenta il limite di dimensione dei file caricati e/o il limite di spazio per i caricamenti:

    Accedi a wp-admin come amministratore.

    Nel riquadro di navigazione Site Admin, clicca su "Opzioni"

    Scorri verso il basso e modifica le impostazioni per "Dimensione massima file caricati" e/o "Spazio caricamenti blog"

  • Comprimi il file con GZip. Su alcuni servizi di hosting, un file gzippato può essere automaticamente espanso in background, senza che WordPress se ne accorga. Questo può permetterti di ridurre le dimensioni del file per adattarlo ai limiti massimi di caricamento.

    Su Windows, usa 7Zip per creare un archivio gz dal file wxr.

    Su Linux, usa il comando gzip da terminale.

    Assicurati che il file risultante abbia l'estensione ".gz" prima di caricarlo, poiché spesso è necessario.

    Questo non è garantito che funzioni, poiché dipende molto dalla configurazione dell'hosting. Se fallisce, prova un altro metodo.

  • Dividi il file WordPress WXR in parti più piccole separando i dati tra i post e incollando l'header/footer in ogni file.

Come sempre, prima di importare i nuovi XML, fai un backup del database del blog in cui stai importando i file XML ed esporta anche un file XML di quel blog per precauzione.

Per tua informazione, queste informazioni sono disponibili nel Codex.

OPZIONE 2: È decisamente più robusto e probabilmente più semplice usare il plugin WP Migrate DB Pro (a pagamento). Nonostante il nome, con un add-on importa anche i file media. Personalmente mi sono trovato in situazioni in cui nessuno dei metodi sopra funzionava - l'unica soluzione era usare questo plugin.

15 nov 2013 23:24:26
Commenti

La soluzione GZip ha funzionato alla grande per me. Un file da 25mb si è ridotto a 2mb, e WordPress lo ha interpretato perfettamente.

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

L'importazione con GZip ha funzionato per me, però i media non vengono caricati

iamkingsleyf iamkingsleyf
29 ago 2018 13:33:59

GZIP è stata la migliore opzione per me. 6 MB => 900 KB

alfredo alfredo
26 mar 2022 04:20:56
11

se hai accesso al file .htaccess nella tua cartella www, includi semplicemente queste 2 righe nel file .htaccess:

php_value upload_max_filesize 50M
php_value post_max_size 50M

In alternativa... puoi inserire questo codice nel file functions.php del tuo tema

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

.. Temporaneamente. Una volta completata l'importazione, dovresti probabilmente ripristinare i valori massimi predefiniti.

User User
27 ago 2013 12:06:22

Non ho accesso al file .htaccess, la seconda soluzione sembra fattibile. Dovrebbe essere inserito in un punto particolare del file functions.php?

User User
27 ago 2013 12:10:31

Sì, provalo e dimmi se è stato d'aiuto.

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

Sfortunatamente @ini_set( 'upload_max_size' , '50M' ); @ini_set( 'post_max_size', '50M'); non funziona e restituisce un errore del server. Qualche altro suggerimento? Sicuramente qualcuno ci è già passato prima.

User User
27 ago 2013 15:28:49

hai accesso al file php.ini?

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

puoi provare questo http://docs.appthemes.com/tutorials/how-to-increase-upload-size-in-wordpress/

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

Non ho accesso al file php.ini e il tutorial che hai inviato non ha funzionato, ho ricevuto lo stesso errore del server.

User User
27 ago 2013 17:41:09

Ho anche provato a dividere il file e caricarlo, ma non ha funzionato neanche quello.

User User
27 ago 2013 18:28:40

Sarebbe possibile trasferire il file via FTP e selezionarlo una volta sul server?

User User
29 ago 2013 12:57:17

scusa, non ho capito la tua richiesta?

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

Non credo che la funzione di importazione di WordPress abbia la possibilità di scegliere un file XML già presente sul server. Peccato, sarebbe stato davvero utile in una situazione come questa.

Ben Miller Ben Miller
5 set 2013 19:04:29
Mostra i restanti 6 commenti
0

Secondo il codex, dovresti essere in grado di dividere il file XML in parti e importarle separatamente. Ecco come lo farei.

Il file di esportazione XML di WordPress è in un formato che chiamano WordPress eXtended RSS (WXR), e appare così (alcune righe omesse):

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

<channel>
    <!-- diversi tag sul tuo blog, incluso titolo, link, descrizione, ecc. -->

    <wp:author><!-- una lista dei tuoi autori di post qui --></wp:author>

    <wp:category><!-- una lista delle tue categorie --></wp:category>
    <wp:tag><!-- informazioni del primo tag --></wp:tag>
    <wp:tag><!-- informazioni del secondo tag, ecc. --></wp:tag>

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

    <item>
        <!-- primo post del blog qui -->
    </item>

    <item>
        <!-- secondo post del blog qui, ecc. -->
    </item>
</channel>

Dovrai dividere questo file in almeno 6 file diversi per rimanere sotto il tuo limite di 8MB. Copia il file finché non avrai 6 o 7 copie del file. Poi, in ogni copia, rimuovi alcuni degli elementi <item> (post) finché non sarai sotto gli 8MB. Quindi ogni file avrà informazioni identiche nella prima parte del file e differirà solo nella sezione <item>. Assicurati di non includere lo stesso post in più di un file, altrimenti verrà importato due volte. Poi importa ogni file, uno alla volta.

5 set 2013 19:03:29
0

È disponibile un'applicazione che puoi scaricare per dividere file XML/WXR di grandi dimensioni in file più piccoli.

Oppure puoi modificare i limiti di upload e post nel tuo file php.ini su cPanel.

15 ott 2013 16:44:12
0

Questa è la soluzione..... spero che ti piacerà

Puoi modificare quell'impostazione creando un semplice file di testo e inserendolo nella cartella wp-admin.

Quindi, per creare questo file, tutto ciò che devi fare è aprire un semplice programma di testo come TextEdit su Mac o Blocco note su Windows e digitare queste due righe di codice.

upload_max_filesize = 64M;
post_max_size = 32M;

Puoi inserire qualsiasi valore desideri, ho scelto 64 e 32 perché mi sembravano numeri appropriati. Ora non ti resta che salvare il file e nominarlo php.ini. Il programma ti chiederà se desideri utilizzare l'estensione .ini, clicca su "usa .ini" e salva. A questo punto non resta che caricare il file sul tuo server e posizionarlo nella cartella "wp-admin", ovunque nella sezione root della cartella va bene.

Ora accedi al pannello di controllo di WordPress e prova a caricare qualcosa di grande. Non dovresti riscontrare problemi e potrai caricare tutto ciò che desideri!

13 apr 2014 06:36:40
2

tutto ciò di cui hai bisogno è questo plugin

Aumenta la Dimensione Massima dei File Caricabili

Scarica e installa da wordpress.org

inserisci il valore (fino a 250mb) in byte, e goditi il risultato.

Tuttavia, se stai caricando un file di grandi dimensioni, potresti aver bisogno di installare il plugin memory bump o aumentare manualmente il tempo di esecuzione

13 ott 2016 15:49:42
Commenti

Per favore modifica la tua domanda per fornire un link al plugin che stai suggerendo. Tieni anche presente che questo plugin non funzionerà se il tuo hosting provider non ti permette di aumentare il valore upload_max_filesize (e possibilmente memory_limit) di PHP.

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

Ecco il link, ma puoi anche semplicemente cercare nella sezione Aggiungi Plugin: https://wordpress.org/plugins/upload-max-file-size/

tmarkiewicz tmarkiewicz
28 nov 2018 22:15:09
0

Se hai a disposizione WP-CLI, offre un comando di importazione che è senza dubbio il modo migliore per importare file WXR di grandi dimensioni. Offre anche un comando di esportazione che ti consente di esportare file WXR e li dividerà nelle dimensioni del file che specifichi.

13 ott 2016 16:15:24
0

Ho provato questo metodo di Gaia e ha funzionato senza problemi, grazie Gia

Comprimi il file con GZip. Su alcuni servizi di hosting, un file gzippato può essere espanso automaticamente in background, senza che WordPress se ne accorga. Questo può permetterti di ridurre le dimensioni del file abbastanza da rientrare nei limiti massimi di upload.

Su Windows, usa 7Zip per creare un archivio gz dal file wxr.

Su Linux, usa il comando gzip da terminale.

Assicurati che il file risultante abbia l'estensione ".gz" prima di caricarlo, poiché spesso è necessario.

Questo metodo non è garantito che funzioni, poiché dipende molto dalla configurazione dell'hosting. Se fallisce, prova un altro metodo.

•Dividi il file WXR di WordPress in parti più piccole separando i dati tra i post e incollando l'header/footer in ogni file.

25 gen 2017 21:47:32
0

Ho sempre trovato che il modo più semplice sia modificare il file user.ini nella root dell'installazione di WP, o crearne uno nuovo.

Plugin come WordFence e altri che necessitano di operare sulle impostazioni di sistema, spesso lo fanno perché funziona bene con WordPress e diversi sistemi.

Modifica o crea un file user.ini nella directory root di WP, copia/incolla il codice qui sotto e salvalo. Se stai usando qualsiasi tipo di caching, svuotalo, poi ricarica la pagina su cui stai caricando i file.

Nella mia installazione WP la memoria è impostata a 64M e ho limitato le dimensioni dei file a 5M. Modifica sia upload_max_filesize che post_max_size con un valore maggiore del file che stai caricando.

; Memoria e dimensioni dei file
memory_limit = 64M
upload_max_filesize = 5M
post_max_size = 5M
file_uploads = On
max_execution_time = 300
; Fine Restrizioni di Caricamento
7 set 2018 11:07:13
0

Ho provato wpcli essendo a riga di comando, molte cose vengono gestite anche dal loro lato.

La dimensione del mio file XML era di circa 10 MB.

In wp-config.php

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

Esempio di wpcli

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