Supporto » Sviluppare con WordPress » Importazione in locale di sito wordpress e suo database

  • Risolto marvell77

    (@marvell77)


    Salve a tutti, dopo varie guide che ho seguito, non riesco a venire a capo del problema e chiedo gentilmente se qualcuno può darmi una mano a capire dove sia il problema.

    Uso un mac con su installato XAMPP e ho a disposizione in locale una cartella backup di un sito wordpress esistente e un file DATABASE.sql che all’interno contiene 5 database ma a me serve solo il primo di questi 5 che chiamerò DB_1

    Importo il db in phpmyadmin e cambio manualmente gli url del sito mettendoci localhost/nomesito/
    (per ora come credenziali uso quelle di default perché sono in locale e perché per ora sto solo facendo prove, quindi uso user: root e pass: (lascio vuoto come da installazione standard di xampp)

    copio la cartella contenente il sito wordpress nella cartella htdocs di vamp e modifico il file wp_config mettendoci il nome database, user: root e il campo pass lo lascio vuoto, come host gli metto localhost e come prefisso tabella gli metto eat_ dato che il database importato ha come prefisso tabelle eat_ e non wp_.

    salvo il file wp_config e digito l’url localhost/nomesito/ ma come risposta ho solo File Non trovato sul server oppure una pagina bianca.

    qualcuno sarebbe così gentile da darmi una mano e farmi capire dove sbaglio? Non sono ferrato in php e mysql perché faccio grafica principalmente ma vorrei imparare ad usare wordpress e mi sembrava una buona idea smaltare su un sito esistente (di un mio amico) per capire come sono strutturate le pagine.

Stai vedendo 10 repliche - dal 1 al 10 (di 10 totali)
  • Ciao @marvell77,
    Hai avviato il server prima di aprire la pagina sul browser?

    ciao @glorialchemica
    ho avviato prima il server

    praticamente installo xampp, creo un nuovo database vuoto e poi sposto la cartella wordpress (quella scaricata dal sito wordpress.org) in htdocs e configuro l’installazione di wordpress inserendo nome db, user, pass e localhost. Così tutto funziona ma ho un db vergine e worpress che parte da zero.

    il problema ce l’ho quando tento di far girare in locale un sito esistente per il quale ho sia il file sql e sia la cartella con tutto il resto. Configurando a mano le credenziali in wp-config e creando un db importato (con host modificato in localhost) il server mi dice che nn trova nessun file.

    • Questa risposta è stata modificata 2 years, 8 months fa da  marvell77.

    e hai cambiato tutte le url nel database?

    ciao @tonicopi

    penso di averle cambiate tutte. Prima di caricare il database in phpmyadmin ho aperto il file sql con un editor di testo e con il comando ‘trova e sostituisci’ ho sostituito l’url originale con ‘localhost/nomesito/’ dato che in htdocs c’è quella cartella contenente tutti i file di wordpress. Ho letto sta cosa di aprire l’sql con un editor di testo leggendo su internet ma posso rifarlo con il metodo che mi suggerisci.

    Ciao @marvell77,
    in effetti sembra proprio che tu le abbia provate tutte. Non riesco a immaginare cosa sia andato storto…
    Hai digitato esattamente http://localhost/miosito/ ?

    Puoi ancora controllare nella tabella eat_options le voci siteurl e home che dovrebbero contenere l’url locale.

    Come ultimo tentativo Clona il sito in locale. In Htdocs crea una cartella nuova che lascerai vuota e sul db un nuovo Db (io comunque ti consiglio di metterla una password al db) da lasciare vuoto anch’esso.
    Installa sul sito locale un plugin di clonazione come Duplicator

    Qui ne abbiamo parlato molto :https://it.wordpress.org/support/topic/testare-modifiche-tema-child-in-locale/

    Puoi ancora provare ad attivare il debug e vedere se per caso ti segnala un errore.

    Nel file wp-config.php modifichi:
    define('WP_DEBUG', false);
    con
    define('WP_DEBUG', true);

    Rif: https://codex.wordpress.org/it:Debug_in_WordPress

    Ciao @marvell77,
    quando modifichi l’url originale con localhost/nomesito/ nel file sql devi fare attenzione a scegliere un nome di url in localhost con un numero di caratteri uguale a quello online altrimenti non funziona più il database.
    Esempio:
    se la url online è
    http://www.prova.com/nomesito, quella in locale può diventare
    http://localhost/miositolocal che ha la stessa lunghezza.

    Moderatore Guido Scialfa

    (@wido)

    Potete avvalervi anche di due strumenti per lo spostamento di WordPress.

    Uno è il plugin https://wordpress.org/plugins/wp-migrate-db/ che vi permette di esportare e fare il replace corretto delle stringhe serializzate.

    L’altro fa esattamente la stessa cosa ma non è un plugin:
    https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

    Il mio consiglio è di usare il plugin.

    Il problema è semplice, per come funziona la serializzazione vengono aggiunte delle informazioni circa quanto è lunga una stringa e di che tipo si tratta.

    Per cui cambiando le informazioni testuali le informazioni di contorno necessarie al software per effettuare la deserializzazione non funzioneranno.

    Spero sia stato di aiuto

    Grazie a tutti e grazie a Guido Scialfa, in effetti era un problema sia di url che di serializzazione dei dati. Alla fine ho risolto usando il tool della interconnectit e tutto è andato liscio. Suppongo che dopo le modifiche in locale, per metterlo online, dovrò usare lo stesso tool mettendo invece del http://www.nomesito.it:8888 l’url http://www.nomesito.it. Giusto?

    uso mamp, ecco perché ho inserito quegli url nella forma http://www.nomesito.it:8888

    Ringrazio tutti per i consigli

    Antonio

    • Questa risposta è stata modificata 2 years, 7 months fa da  marvell77.
    • Questa risposta è stata modificata 2 years, 7 months fa da  marvell77.
Stai vedendo 10 repliche - dal 1 al 10 (di 10 totali)
  • Il topic ‘Importazione in locale di sito wordpress e suo database’ è chiuso a nuove risposte.