Import fișier XML Wordpress mai mare de 8mb

27 aug. 2013, 11:59:53
Vizualizări: 61.5K
Voturi: 9

Încerc să import un fișier XML (dintr-o temă Wordpress anterioară) într-o nouă temă Wordpress. Problema este că fișierul XML are 46MB, mult mai mare decât limita Wordpress de 8MB. Are cineva sfaturi/recomandări despre cum aș putea importa acest fișier?

Mulțumesc

apagey

1
Comentarii

Dacă ai acces la linia de comandă, poți încerca WP_CLI.

Welcher Welcher
23 dec. 2014 13:46:02
Toate răspunsurile la întrebare 10
3
12

OPȚIUNEA 1: Dacă un fișier WordPress WXR, un fișier XML exportat din WordPress, este prea mare pentru a fi importat, există mai multe lucruri pe care le puteți încerca pentru a depăși această limită.

  • Creșteți cantitatea de memorie pe care o poate consuma un script PHP. Notă: Dacă utilizați un serviciu de hosting partajat, poate fi necesar să cereți gazdei să crească limita.

    Creșteți limita de memorie în php.ini (ex. memory_limit = 64M ;). Multe gazde pot să nu permită acest lucru.

    Creșteți limita de memorie prin .htaccess (ex. php_value memory_limit 64M). Multe gazde pot să nu permită acest lucru.

    Creșteți limita de memorie prin wp-config.php (ex. define('WP_MEMORY_LIMIT', '64MB');)

  • Creșteți timpul maxim în care un script PHP poate rula. Notă: Dacă utilizați un serviciu de hosting partajat, poate fi necesar să cereți gazdei să crească limita.

    Creșteți timpul maxim de execuție în php.ini (ex. max_execution_time = 600 ;). Multe gazde pot să nu permită acest lucru.

  • Creșteți setările de dimensiune a fișierelor încărcate în PHP. Notă: Dacă utilizați un serviciu de hosting partajat, poate fi necesar să cereți gazdei să crească limita.

    Creșteți valorile setărilor în php.ini (ex. upload_max_filesize = 64M ; și post_max_size = 64M ;). Multe gazde pot să nu permită acest lucru.

    Creșteți valorile setărilor prin .htaccess (ex. php_value upload_max_filesize 64M și php_value post_max_size = 64M). Multe gazde pot să nu permită acest lucru.

    Creșteți valorile setărilor prin linii ini_set în wp-config.php. Discutați cu gazda pentru valorile corecte.

  • Creșteți limita de dimensiune a fișierelor încărcate și/sau limita de spațiu pentru încărcare:

    Autentificați-vă în wp-admin ca administrator.

    În caseta de navigare Site Admin, faceți clic pe "Opțiuni"

    Derulați în jos și modificați setările pentru "Dimensiune maximă fișier încărcare" și/sau "Spațiu încărcare blog"

  • Comprimați fișierul cu GZip. Pe unele servicii de hosting, un fișier gzip poate fi extins automat în fundal, fără ca WordPress să observe diferența. Acest lucru vă poate permite să reduceți dimensiunea fișierului pentru a se încadra în limitele maxime de încărcare.

    Pe Windows, utilizați 7Zip pentru a crea o arhivă gz din fișierul wxr.

    Pe Linux, utilizați linia de comandă gzip.

    Asigurați-vă că fișierul rezultat are extensia ".gz" înainte de a-l încărca, deoarece acest lucru este adesea necesar.

    Acest lucru nu este garantat să funcționeze, deoarece depinde foarte mult de configurația de hosting. Dacă nu funcționează, încercați o altă metodă.

  • Împărțiți fișierul WordPress WXR în bucăți mai mici separând datele între postări și inserând headerul/footerul în fiecare fișier.

Ca întotdeauna, înainte de a importa noile fișiere XML, faceți o copie de rezervă a bazei de date a blogului în care importați fișierele XML și ar fi bine să exportați și un fișier XML al acelui blog, pentru măsuri de precauție.

Pentru informații suplimentare, aceste detalii sunt disponibile în Codex.

OPȚIUNEA 2: Este cu siguranță mai robust și probabil mai ușor de utilizat plugin-ul WP Migrate DB Pro (plătit). În ciuda numelui, cu un add-on poate importa și fișiere media. Am întâlnit personal situații în care niciuna dintre metodele de mai sus nu a funcționat - singura soluție a fost să folosesc acest plugin.

15 nov. 2013 23:24:26
Comentarii

Soluția GZip a funcționat perfect pentru mine. Am redus un fișier de 25mb la 2mb, iar WordPress l-a înțeles perfect.

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

Soluția de import GZip a funcționat pentru mine, dar fișierele media nu s-au încărcat

iamkingsleyf iamkingsleyf
29 aug. 2018 13:33:59

GZIP a fost cea mai bună opțiune pentru mine. 6 MB => 900 KB

alfredo alfredo
26 mar. 2022 04:20:56
11

dacă aveți acces la fișierul .htaccess din folderul www. Pur și simplu includeți următoarele 2 linii în .htaccess:

php_value upload_max_filesize 50M
php_value post_max_size 50M

Altă metodă .. puteți plasa acest fragment de cod în fișierul functions.php al temei dumneavoastră

@ini_set( 'upload_max_size' , '50M' );
@ini_set( 'post_max_size', '50M');
27 aug. 2013 12:02:10
Comentarii

.. Temporar. După ce ai făcut importul, ar fi bine să restaurezi valorile maxime implicite.

User User
27 aug. 2013 12:06:22

Nu am acces la fișierul .htaccess, a doua sugestie pare realizabilă. Ar trebui plasată într-un loc anume în fișierul functions.php?

User User
27 aug. 2013 12:10:31

da, încearcă și spune-mi dacă a ajutat.

Prince Singh Prince Singh
27 aug. 2013 12:11:17

Din păcate @ini_set( 'upload_max_size' , '50M' ); @ini_set( 'post_max_size', '50M'); nu funcționează și returnează o eroare de server. Aveți alte sugestii? Cu siguranță cineva a mai întâlnit această problemă înainte.

User User
27 aug. 2013 15:28:49

ai acces la fișierul php.ini?

Prince Singh Prince Singh
27 aug. 2013 15:37:50

poți încerca aceasta http://docs.appthemes.com/tutorials/how-to-increase-upload-size-in-wordpress/

Prince Singh Prince Singh
27 aug. 2013 15:39:59

Nu am acces la fișierul php.ini și tutorialul pe care l-ai trimis nu a funcționat nici el, am primit aceeași eroare de server.

User User
27 aug. 2013 17:41:09

Am încercat și împărțirea fișierului și încărcarea lui, dar nici asta nu a funcționat.

User User
27 aug. 2013 18:28:40

Ar fi posibil să transfer fișierul prin FTP și să-l selectez odată pe server?

User User
29 aug. 2013 12:57:17

Scuze, nu am înțeles întrebarea ta?

Prince Singh Prince Singh
29 aug. 2013 13:39:36

Nu cred că funcția de import din WordPress are o opțiune pentru a alege un fișier XML care este deja pe server. Este păcat, ar fi fost foarte util pentru o situație ca aceasta.

Ben Miller Ben Miller
5 sept. 2013 19:04:29
Arată celelalte 6 comentarii
0

Conform codex-ului, ar trebui să poți împărți fișierul XML în bucăți și să le imporți separat. Iată cum aș face eu acest lucru.

Fișierul de export XML din WordPress este într-un format pe care îl numesc WordPress eXtended RSS (WXR), și arată astfel (unele linii au fost omise):

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

<channel>
    <!-- mai multe tag-uri despre blogul tău, inclusiv titlu, link, descriere, etc. -->

    <wp:author><!-- o listă cu autorii postărilor tale aici --></wp:author>

    <wp:category><!-- o listă cu categoriile tale --></wp:category>
    <wp:tag><!-- informații despre primul tag --></wp:tag>
    <wp:tag><!-- informații despre al doilea tag, etc. --></wp:tag>

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

    <item>
        <!-- prima postare de blog aici -->
    </item>

    <item>
        <!-- a doua postare de blog aici, etc. -->
    </item>
</channel>

Va trebui să împarți acest fișier în cel puțin 6 fișiere diferite pentru a rămâne sub limita ta de 8MB. Copiază fișierul până când ai 6 sau 7 copii ale acestuia. Apoi, în fiecare copie, elimină unele dintre elementele <item> (postări) până când fiecare fișier este sub 8MB. Astfel, fiecare fișier va avea informații identice în prima parte și va diferi doar în secțiunea <item>. Asigură-te că nu incluzi aceeași postare în mai multe fișiere, altfel aceasta va fi importată de două ori. Apoi importă fiecare fișier, unul câte unul.

5 sept. 2013 19:03:29
0

Există o aplicație pe care o poți descărca pentru a împărți fișierele XML/WXR mari în fișiere mai mici.

Alternativ, poți modifica limitele de încărcare și postare în fișierul php.ini din cPanel.

15 oct. 2013 16:44:12
0

Acesta este soluția... sper să vă placă.

Puteți modifica această setare creând un simplu fișier text și plasându-l în folderul wp-admin.

Pentru a crea acest fișier, tot ce trebuie să faceți este să deschideți un program simplu de editare text precum TextEdit pe Mac sau Notepad pe Windows și să introduceți aceste două linii de cod.

upload_max_filesize = 64M;
post_max_size = 32M;

Puteți introduce orice valoare doriți, eu am ales 64 și 32 pentru că mi s-au părut numere potrivite. Acum salvați fișierul și denumiți-l php.ini. Programul vă va întreba dacă doriți să folosiți extensia .ini, faceți clic pe "Utilizează .ini" și salvați. Tot ce rămâne de făcut este să încărcați fișierul pe server și să îl plasați în folderul "wp-admin", oriunde în secțiunea rădăcină a folderului este în regulă.

Acum autentificați-vă în panoul de control WordPress și încercați să încărcați ceva mare. Nu ar trebui să aveți probleme și puteți încărca orice doriți!

13 apr. 2014 06:36:40
2

tot ce ai nevoie este acest plugin

Creștere dimensiune maximă încărcare fișiere

Descarcă și instalează de pe wordpress.org

introdu valoarea (până la 250mb) în bytes și bucură-te.

Totuși, dacă încarci un fișier mare, poate fi necesar să ai instalat pluginul memory bump sau să crești manual timpul de execuție

13 oct. 2016 15:49:42
Comentarii

Te rog să editezi întrebarea ta pentru a oferi un link către plugin-ul pe care îl sugerezi. De asemenea, reține că acest plugin nu va funcționa dacă furnizorul tău de hosting nu îți permite să crești valoarea upload_max_filesize (și posibil memory_limit) din PHP.

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

Iată link-ul, dar poți să cauți și în secțiunea Adaugă Plugin-uri: https://wordpress.org/plugins/upload-max-file-size/

tmarkiewicz tmarkiewicz
28 nov. 2018 22:15:09
0

Dacă aveți la dispoziție WP-CLI, acesta oferă o comandă de import care este, fără îndoială, cea mai bună metodă de a importa fișiere WXR de dimensiuni mari. De asemenea, oferă o comandă de export care vă permite să exportați fișiere WXR și le va împărți în dimensiunile pe care le specificați.

13 oct. 2016 16:15:24
0

Am încercat această metodă de la Gaia și a funcționat fără probleme, mulțumesc Gia

Comprimă fișierul cu GZip. Pe unele servicii de găzduire, un fișier gzipped poate fi extins automat în fundal, fără ca WordPress să știe vreodată diferența. Acest lucru vă poate permite să reduceți fișierul suficient de mult pentru a se încadra în constrângerile de dimensiune maximă de încărcare.

Pe Windows, folosește 7Zip pentru a crea o arhivă gz din fișierul wxr.

Pe Linux, folosește comanda gzip din linia de comandă.

Asigură-te că fișierul rezultat are extensia de fișier ".gz" înainte de a-l încărca, deoarece acest lucru este adesea necesar.

Acest lucru nu este garantat că va funcționa, deoarece depinde foarte mult de configurația de găzduire. Dacă această metodă eșuează, încearcă o altă metodă.

•Împarte fișierul WordPress WXR în bucăți mai mici separând datele între postări și lipind antetul/subsolul în fiecare fișier.

25 ian. 2017 21:47:32
0

Am găsit întotdeauna că cea mai simplă metodă este editarea fișierului user.ini din directorul rădăcină al instalării WordPress sau crearea unuia.

Pluginuri precum WordFence și altele care necesită să opereze cu setări de sistem, fac adesea acest lucru deoarece funcționează bine cu WordPress și diverse sisteme.

Editați sau creați un fișier user.ini în directorul rădăcină WordPress, copiați/lipește codul de mai jos și salvați-l. Dacă folosiți vreun fel de caching, goliți cache-ul, apoi reîmprospătați pagina pe care încărcați fișiere.

În instalarea mea WordPress, memoria este setată la 64M și am limitat dimensiunile fișierelor la 5M. Modificați ambele valori upload_max_filesize și post_max_size la ceva mai mare decât fișierul pe care îl încărcați.

; Memorie și dimensiuni fișiere
memory_limit = 64M
upload_max_filesize = 5M
post_max_size = 5M
file_uploads = On
max_execution_time = 300
; Sfârșit Restricții Încărcare
7 sept. 2018 11:07:13
0

Am încercat wpcli deoarece este o linie de comandă, multe lucruri sunt gestionate și de aceasta.

Dimensiunea fișierului meu XML era de aproximativ 10 MB.

În wp-config.php

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

Exemplu de wpcli

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