• Buonasera, nella personalizzazione del template ho usato diversi plugin e nel cancellare uno di questi si è generato un errore che mi impedisce di caricare la pagina di login di wordpress, oltre a alla hompage del sito sui browser. Il messaggio di errore è il seguente:

    “Warning: require_once(/web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdodb.class.php): failed to open stream: No such file or directory in /web/htdocs/www.coral-reef.it/home/wp/wp-content/db.php on line 129

    Fatal error: require_once(): Failed opening required ‘/web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdodb.class.php’ (include_path=’.:/php5.5/lib/php’) in /web/htdocs/www.coral-reef.it/home/wp/wp-content/db.php on line 129”

    Nel dettaglio è successo questo:
    – Giorni prima ho lanciato l’installazione del plugin WCP OPENWEATHER senza portarla a buon fine….da subito si è interrotta la connessione e nel rifare il login utente si è presentato l’errore “Fatal error: Class ‘lessc_formatter_classic’ not found in /web/htdocs/www.coral-reef.it/home/wp/wp-content/themes/CherryFramwork/includes/less-compile.php on line 138”. Leggendo qua e là in rete ho caricato le cartelle del sito tramite FTP usando Filezilla e, nella cartella http://www.coral-reef.it/wp/wp-content/plugins, ho rinominato (per disattivarlo) il plugin incriminato (WCP OPENWEATHER in WCP OPENWEATHER-BACKUP)………a questo punto ha funzionato di nuovo tutto come prima…….quindi facendo il login utente ho trovato nel pannello di controllo il plugin in questione, ovviamente disattivato, e l’ho cancellato per sempre.
    – Successivamente, anche se sporadicamente, mi è apparso il messaggio di errore “Warning: Invalid argument supplied for foreach() in /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/query.class.php on line 694”. Supponendo si trattasse di un messaggio di errore attinente il plugin SQLITE-INTEGRATION, ho agito come nel caso precedente partendo però dal pannello di controllo/Plugin/Cancella Plugin SqLite-Integration, tra l’altro caricato, ma non attivato, in modo predefinito col template acquistato…… ED ECCO L’ERRORE DI CUI SOPRA per cui non riesco più ad accedere nè al login utente né alla homepage del sito…….

    Potete cortesemente darmi una mano a risolvere questo problema?…..premetto che non sono un webmaster, non conosco pertanto i linguaggi tipo HTML, CSS, etc….sono un neofita che, necessitando di un sito web per la mia professione e barcamenandomi un po’ sull’informatica generale, ho acquistato il template cercando di, personalizzandolo in alcuni aspetti, realizzare il sito desiderato…..
    Ringrazio tutti coloro volessero darmi una mano.

Stai visualizzando 14 risposte - dal 1 al 14 (di 14 totali)
  • Moderatore Guido Scialfa

    (@wido)

    Ciao @ luckyhenry1963,

    Tenterei innanzitutto a ricaricare il plugin in questione via filezilla in modo tale che per ora puoi accedere al backend.

    Dopo di che bisogna sapere perchè hai il file db.php all’interno della directory wp-content.
    Il file wp-content/db.php viene utilizzato per poter sfruttare una classe custom per l’accesso al database invece di utilizzare wpdb.

    Come scritto nel codice di wp-includes/wp-db.php:

    WordPress Database Access Abstraction Object

    It is possible to replace this class with your own
    by setting the $wpdb global variable in wp-content/db.php
    file to your class. The wpdb class will still be included,
    so you can extend it or simply use your own.
    @link https://codex.wordpress.org/Function_Reference/wpdb_Class

    Alternativamente, invece di caricare nuovamente il plugin, puoi rinominare file wp-content/db.php in _db_.php in questo modo WordPress non dovrebbe considerarlo ed useresti la normale classe per accedere al db.

    SqlLite è un database engine, è probabile che l’hosting in cui hai installato WordPress non utilizzi MySql ma proprio sqlite e che ti abbia preinstallato il plugin con relativo file.

    Spero di essere stato chiaro.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Grazie mille Guido del tuo intervento e dei tuoi consigli…..una precisazione: SqLite-Integration l’ho trovato già installato per default ma NON ATTIVO…….anche in questo caso si può considerare utilizzato per la gestione del DB? considera che l’hosting in cui è installato WordPress è Aruba con il quale ho sottoscritto regolare contratto di utilizzo MySql…….

    Moderatore Guido Scialfa

    (@wido)

    Ti consiglio allora di contattare il supporto di Aruba in modo tale da avere una chiara visione della situazione e capire se sono stati loro a caricare il plugin ed il file db.php.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Certo Guido, è quello che farò quanto prima…….tuttavia seguendo il tuo consiglio di rinominare il file wp-content/db.php in _db_.php in modo che WordPress non lo consideri ed usi la normale classe per accedere al db, si è verificato che sia sulla pagina di Login utente che sulla pagina del sito mi propone l’installazione del db di WordPress con la scelta della lingua…(http://www.coral-reef.it/wp/wp-admin/install.php)……..è giusto che sia così?….devo andare avanti?…..se vado avanti rischio di perdere tutto il lavoro fatto sinora?

    Moderatore Guido Scialfa

    (@wido)

    Ciao, No non fare nulla altrimenti perdi il lavoro svolto fino ad adesso.

    Reimposta come prima e contatta il supporto hosting.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Dunque Guido…..nel frattempo ho ricaricato il plugin Sqlite-integration attraverso FTP Filezilla e tutto è tornato a posto….andando nella bacheca WordPress del sito, lo stesso plugin è caricato ma non è ATTIVO….com’è possibile che pur non essendo attivo da lui dipende il funzionamento di tutto?
    Per quanto riguarda il rinominare il file wp-content/db.php in _db_.php non farò nulla…..contatterò quanto prima il supporto Aruba…………
    Un’ultima cosa…….pur tornando tutto a posto, rimane il messaggio “Warning: Invalid argument supplied for foreach() in /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/query.class.php on line 694”, che, come immagino, ha una stretta correlazione col plugin Sqlite-Integration appena ripristinato, ma se lo cancello (non posso disinstallarlo in quanto non attivo) si ripete l’errore iniziale….mah
    Sai dare qualche spiegazione a tutto questo?

    Moderatore Guido Scialfa

    (@wido)

    Ciao @luckyhenry1963,

    Il problema del warning è dato dal fatto che il costrutto foreach si aspetta un tipo di dato che invece non gli viene passato nel tipo corretto. Per questo devi contattare lo sviluppatore del plugin e fargli presente la cosa.

    Il plugin non lo puoi rimuovere perchè viene utilizzato molto probabilmente dal file db.php.
    Secondo me il tuo database non è MySql ma SqLite. Il plugin ti fa da tramite tra il database e WordPress perchè il cms in questione non ha supporto nativo a quel tipo di database per quanto ne so io.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Grazie Luca per le tue preziosissime informazioni…….quello che farò oltre a contattare lo sviluppatore del plugin Sqlite-Integration è andare a vedere come mai non è impostato MySql come database principale (già verificato che non lo è in quanto dall’attivazione i 5 DB messi a disposizione dall’abbonamento hanno 0 byte di spazio occupato)…….pertanto ritengo anch’io che la ragione del messaggio di Warning sia dovuto all’uso di Sqlite con qualche incompatibilità, magari legata alla versione di WordPress……
    Appena verifico la funzionalità del sito con MySql impostato come DB predefinito ti saprò dire della ricomparsa o meno del messaggio di Warning, così da chiudere la discussione per problema risolto…..
    Per il momento grazie infinite per la disponibilità e per l’impegno profuso…
    Luciano Balestrini

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Buonasera Guido…….rieccomi…..ti confermo che nel file wp-config.php tutto è riferito alle coordinate per usare MySql di Aruba.
    Ora oltre al messaggio di Warning di cui sopra si è aggiunto anche un errore che mi rimanda ad una pagina bianca col messaggio di Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000]: General error: 1 cannot rollback – no transaction is active’ in /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdoengine.class.php:1353 Stack trace: #0 /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdoengine.class.php(1353): PDO->rollBack() #1 /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdoengine.class.php(656): PDOEngine->rollBack() #2 /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdoengine.class.php(411): PDOEngine->execute_query(Object(PDOStatement)) #3 /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdodb.class.php(248): PDOEngine->query(‘UPDATE wp_opti...') #4 /web/htdocs/www.coral-reef.it/home/wp/wp-includes/wp-db.php(1996): PDODB->query('UPDATEwp_opti…’) #5 /web/htdocs/www.coral-reef.it/home/wp/wp-includes/option.php(328): wpdb->update(‘wp_options’, Array, Array) #6 /web/htdocs/www.coral in /web/htdocs/www.coral-reef.it/home/wp/wp-content/plugins/sqlite-integration/pdoengine.class.php on line 1353
    Non sò proprio più che fare…….è palese comunque che la generazione degli errori è dipeso da Sqlite-integration…..
    Se nel forum ci fosse qualcuno esperto, gliene sarei grato…….
    Attendo buone nuove…..

    Moderatore Guido Scialfa

    (@wido)

    Ciao @luckyhenry1963,

    Gli errori php sono dovuti al plugin ed a meno di mettere mano al codice non c’è modo di risolverli.

    Il problema qui è che a quanto pare senza questo plugin non ti funziona il sito cosa che è strana perchè se tu dici di essere sicuro che il tuo database sia MySql allora hai qualche problema con l’installazione di WordPress.

    In questo caso il mio consiglio è quello di effettuare un backup completo del database e dei files di Wp, dopo di che rimuovere tutti i files e ricaricare nuovamente tutto via ftp.

    Ho diversi siti su aruba su hosting linux e non ho mai sentito di questo problema, d’altronde io non installo mai WordPress dal cpanel dell’hosting quindi non saprei dirti se effettivamente loro hanno necessità di dover caricare questo plugin insieme al file db.php.

    Ripeto, contatta l’hosting e chiedi spiegazioni a loro.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Buongiorno Guido e amici del forum……. ho contattato l’assistenza dell’hosting (nel mio caso Aruba) e mi hanno confermato quanto segue: “dopo alcune verifiche sembra che WordPress stia utilizzando il database sqlite presente in wp-content/database.”
    Pertanto è certo che il problema relativo alla comparsa dei diversi messaggi (il primo di Warning e il secondo per mancanza di DB Sqlite dopo averlo cancellato) è determinato dall’uso di Sqlite-Integration e della sua, immagino, incompatibilità con WordPress 4.5.3, e se poi aggiungiamo i riferimenti a MySql inseriti nel file wp-config.php l’opera è completa…….
    Ti chiedo se conosci procedura, o hai dei riferimenti in rete, per migrare da Sqlite a MySql senza danni al sito e, soprattutto, come cancellare Sqlite in modo pulito….
    Grazie Guido per l’assistenza……

    Moderatore Guido Scialfa

    (@wido)

    Ciao @luckyhenry1963,

    Scusami per il ritardo nel risponderti, dunque direi innanzitutto di capire quanti contenuti sia testuali che media hai attualmente nel sito e se in caso hai possibilità di effettuarne il backup ( via dump del database sqlite ).

    Io non conosco molto sqlite ma in genere la migrazione da un db ad un’altro è una procedura che va presa con cautela.

    Il mio consiglio è il seguente:

    1. Effettua localmente un backup del database sqlite e di tutti i files attualmente presenti
    nello spazio ftp.

    2. Esporta tutti i contenuti di WordPress da Strumenti > esporta, in questo modo dovresti poter scaricare un file .xml contenente tutti i contenuti del sito ( assicurati di selezionare Tutti come opzione in modo che WordPress ti esporti anche i riferimenti ai media )

    3. Pialla tutto quello che si trova nell’ftp(*) e ricarica una versione pulita di wordpress sempre via ftp ed esegui la procedura di installazione in 5 minuti.

    Su aruba non hai necessità di creare nuovi database perchè dovresti già averli a disposizione, ti basta effettuare un controllo che tutto sia impostato correttamente loggandoti su mysql.aruba.it ( prendi i dati di login dal file wp-config.php che hai scaricato dall’ftp ) usando il valore di DB_USER e DB_PASSWORD. Se è tutto ok dovresti avere 5 database numerati.

    (*) Nota, ti conviene lasciare nell’ftp la directory wp-content/uploads perchè in un secondo momento ti servirà poter reimportare i files media tramite la procedura di importazione dei contenuti.

    Quindi occhio a quando ricarichi i nuovi files, non caricare la directory wp-content ma ricarica solo le cartelle interne.

    4. Una volta che hai effettuato la nuova installazione di WordPress vai in Strumenti > Importa e seleziona WordPress. Ti chiederà di installare il plugin per effettuare l’operazione.

    Importando i contenuti assegna tutto all’utente corrente e spunta la casella per poter importare tutti i media.

    Se tutto va a buon fine dovresti trovarti i contenuti ed i media in WordPress. Probabilmente dovrai fare qualche piccola correzione.

    Eventualmente dovessi avere problemi nell’importazione dei media dovrai fare manualmente riuploadando i files dal backend di WordPress.

    Se hai problemi basta chiedere.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Grazie Guido per le dritte che mi stai dando…..seguirò i tuoi preziosi consigli sperando di non far danni…..sai sono un neofita in materia e, considerando che l’operazione va fatta con cautela, non vorrei compromettere tutto il lavoro fatto…….mi farò assistere da qualcuno più competente di me, oltre ovviamente a domandarti, se necessario, ulteriori consigli e suggerimenti.
    Grazie, ti terrò comunque informato sull’esito della migrazione….
    Saluti.

    Chi ha creato la discussione Luciano Balestrini

    (@luckyhenry1963)

    Buonasera Guido……poiché questo POST è stato aperto dal sottoscritto in virtù dei messaggi di errore visualizzati come da post precedenti, ti comunico che ho risolto rispetto a tali errori ATTIVANDO il plugin Sqlite (come detto precedentemente, Sqlite l’ho trovato caricato ma non attivato, e così è sempre rimasto)……..devo quindi dedurre che gli errori erano causati semplicemente dalla mancata attivazione del plugin……
    Per quanto riguarda la migrazione, per il momento la metto in stand-by…….mi spaventa l’idea di fare, a migrazione terminata, qualche piccola correzione….il template l’ho acquistato pre-confezionato e se qualcosa non torna, non saprei proprio come fare……
    Tra l’altro, con Sqlite attivato, le pagine vengono caricate anche più velocemente……
    Terrò conto comunque della tua guida per la migrazione…..a tempo debito farò delle prove per capire quali difficoltà si possono incontrare con tale procedura, magari postandola e raccontandola agli interessati…..
    Ti ringrazio ancora per il tempo che hai dedicato alla risoluzione dei problemi e per i consigli suggeriti……
    Tanti saluti.
    Luciano Balestrini

Stai visualizzando 14 risposte - dal 1 al 14 (di 14 totali)
  • Il topic ‘Fatal error’ è chiuso a nuove risposte.