• User Attivo

    Utilizzare Wordpress con due database

    Ciao a tutti. Che voi sappiate, è possibile usare wordpress con due database diversi?

    Il primo con le impostazioni ecc...mentre il secondo magari con gli articoli e basta, per poi richiamarli entrambi.

    Tecnicamente penso si possa fare ma teoricamente non so da dove iniziare.


  • User Attivo

    Ciao all2aller,

    se devo essere sincero con te, questa non è una mossa che personalmente andrei a fare perché, per realizzare questa caratteristica, molto probabilmente dovrai andare a modificare il core della piattaforma. Modificando le funzionalità principali rischi di limitare le tue possibilità di aggiornamento perché quando WordPress passa ad una nuova versione andrà a sovrascrivere il tuo codice per aggiungere il suo.

    Esiste la possibilità di salvarsi da questa caratteristica, andando ad agire sugli Hook ma, dato che la struttura del database viene creata in fase di installazione, non credo che esista qualche hook che ti permetta di collegare le tue funzioni durante questa fase. Ti consiglio di dare un'occhiata al codex di WordPress per scoprire se esiste un Hook che faccia al caso tuo ma, se mi permetti, come mai desideri modificare la struttura del database dividendolo in due?

    Oltre a questo, una volta applicate le modifiche necessarie al database, dovrai assicurarti che WordPress sia al corrente di questa modifica in modo costante, in questo modo anche i plugin e temi che lavorano con la tua installazione potranno utilizzare i due diversi database.

    Spero di aver fatto un pò di chiarezza.

    A Presto,
    Andrea Barghigiani


  • User Attivo

    Grazie AndMore, bello il tuo blog su Wordpress, sono un tuo fan 😉

    Praticamente ho un sito in Wordpress in cui dopo aver caricato un gran numero di, ad esempio", articoli (circa 15.000) Wordpress mi restituisce un errore memory limit; nulla di disperato, normale routine di lavoro. Ciò capita a circa 6000 elementi su un server virtuale, il quale anche aumentato la "memory limit" dal server, dal wp-config.php e php.ini non cambia le cose come di solito dovrebbe.
    Questo è il problema principale

    Ho provato la stessa cosa con un server dedicato più potente e performante, il problema si presenta come prima ma a circa 10.000 elementi. Qui ho capito che era il server o il core di Wordpress che in generale non riesce a gestire tutta questa molte di dati e qui nasce il ragionamento dei due database:

    Se un server virtuale riesce a caricare 6000 elementi e un server dedicato 10.000, isolando solo le tabelle in cui sono presenti gli elementi in un database differente a quello con tutte le tabelle "standard" il tutto dovrebbe funzionare correttamente.

    Logicamente la risoluzione più semplice sarebbe quella di acquistare un server dedicato ancora più potente, ma considerando che rischio di entrare in un vicolo ceco non mi convince.


  • User Attivo

    Ciao all2aller e grazie mille per i complimenti, mi fanno veramente piacere!

    Tornando al tuo problema, tutto questo succede perché utilizzi il plugin per importare gli articoli da un WordPress ad un altro, giusto?

    Data la mole dei dati che devi esportare, hai mai pensato di utilizzare direttamente MySQL o phpMyAdmin? Visto che gli articoli vivono nel database, credo che andando a percorrere una di queste due strade dovrebbe essere molto più performante e ti permetterà di risparmiare dei soldi per l'acquisto di un server più potente.

    Se hai bisogno di scoprire come sia possibile a questo indirizzo wplift.com/move-wordpress-from-localhost-to-server trovi il procedimento passo passo per passare da una istallazione WordPress locale ad una web, ovviamente a te non interessa questa cosa specifica, ma l'articolo è ben fatto e mostra come utilizzare phpMyAdmin per esportare ed importare il database.

    Spero di esserti stato di aiuto e, dato che hai citato il mio blog, hai qualche suggerimento per l'articolo apparso oggi? Rispondi pure con un commento o un PM.

    A presto,

    Andrea Barghigiani


  • User Attivo

    Grazie della pronta risposta. Il problema non è esportare o importare il database. L'incognita si mostra dopo aver caricato tutti gli elementi che sono su un file .CSV. Dopo aver caricato tutti i file correttamente alcune pagine sia nel front-end che back-end mostrano l'errore memory limit, solo quando raggiungo la cifra finale di 6000 elementi circa sul server virtuale e 10.000 (tutti) elementi sul dedicato.

    Ho trovato interessante il post di oggi che "recensiva" i siti web per trovare lavoro, per esperienze personali, non sopporto la maggior parte dei siti elencati. Detto ciò ho trovato molto utile invece l'articolo "Non bastano cinque file" http://wordpressandmore.info/gerarchia-wordpress/ che è sempre nei preferiti.


  • User Attivo

    Posto la soluzione che sembra funzionare con il problema Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /XXXXXXX-XXXX. Oltre alle possibilità di aggiungere la stringa di codice define('WP_MEMORY_LIMIT', '64M'); nel wp-config.php e quella di aumentare la "memory limit" tramite Server che nel mio caso non hanno funzionato, esiste una terza possibilità: aumentare i valori nel file wp-includes/default-constants.php

    [PHP]
    function wp_initial_constants( ) { global $blog_id;

    // set memory limits
    if ( !defined('WP_MEMORY_LIMIT') ) {
        if( is_multisite() ) {
            define('WP_MEMORY_LIMIT', '64M');
        } else {
            define('WP_MEMORY_LIMIT', '40M');
        }
    }
    
    
    if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
        define( 'WP_MAX_MEMORY_LIMIT', '256M' );
    }
    

    [/PHP]

    ad esempio con:

    [PHP]
    function wp_initial_constants( ) {
    global $blog_id;

    // set memory limits
    if ( !defined('WP_MEMORY_LIMIT') ) {
        if( is_multisite() ) {
            define('WP_MEMORY_LIMIT', '500M');
        } else {
            define('WP_MEMORY_LIMIT', '500M');
        }
    }
    
    
    if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
        define( 'WP_MAX_MEMORY_LIMIT', '500M' );
    }
    

    [/PHP]

    La soluzione con 500M è un pò grande come grandezza ma è quella che mi ha permesso di non incorrere più nell'errore. Spero possa servire a qualcun altro.


  • User Attivo

    Complimenti all2aller!

    Sei riuscito a trovare una soluzione che neanche io conoscevo! Toglimi una curiosità, ma le modifiche fatte al wp_config() e al lato server, presumo php.ini, le avevi tolte o le hai lasciate tutte?

    Perché mi viene da pensare che il trio di valori sia necessario perché ognuno di essi corregge quello successivo... Voglio dire:

    • se aumentisolo lato server, PHP e WP non sono in grado di caricare,
    • se aumenti server e PHP, resta WP
    • soltanto con tutti i valori assieme è possibile fare questo cambiamento.

    Mi fai venir voglia di fare qualche test, ma non me la sento di perdere tempo con queste cose...

    Comunque grazie mille per aver condiviso con noi la tua soluzione, sono sicuro che ci saranno molte altre persone che potranno beneficiare da questa discussione!


  • User Attivo

    Ciao, ho rimesso le impostazioni di default sia nel wp-config che nel server (nel mio caso 128M), ho aumentato la memoria solo nel default-constants.php e sembra funzionare. Spero possa essere d'aiuto.