Import fișier XML Wordpress mai mare de 8mb
Î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
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.

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.

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

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');

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

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

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.

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

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.

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

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

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.

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.

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!

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

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.

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

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.

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.

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

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
