Classe MysqliDb mancante nelle librerie arc2

Discussione in 'PHP' iniziata da tritabit, 13 Marzo 2019.

  1. tritabit

    tritabit Nuovo Utente

    Registrato:
    14 Agosto 2017
    Messaggi:
    7
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    ciao a tutti,

    non riesco a venire fuori da un problema con le librerie arc2 da utilizzare in php:
    https://github.com/semsol/arc2

    Si tratta di un insieme di classi php che dovrebbero permettere l'esecuzione di query sparql e il salvataggio di "triplestore rdf" appoggiandosi su un comune db mysql.

    L'esecuzione di query funziona (perché viene eseguita su db remoti già esistenti), mentre il salvataggio dei dati non funziona perché php restituisce una serie di errori a runtime dovuti al fatto che nella libreria c'é un file php:
    mysqliAdapter.php
    che cerca di estendere delle classi astratte definite in una altro file php, ma le classi astratte non vengono viste.
    Il problema della visibilità delle classi l'ho risolto modificando io la libreria arc2, includendo i file php che contengono le classi astratte con una require_once(file-classe-astratta.php) all'interno del file che fa la extends.
    I file che ho dovuto includere in mysqliAdapter.php sono:
    include_once('AbstractAdapter.php');
    include_once('MysqliDbExtended.php');

    Adesso però c'é un file MysqliDbExtended.php che si blocca perché prova ad estendere la classe MysqliDb e non la trova.
    Nelle librerie non esiste questa classe.
    Ho provato a installare Composer per cercare di fargli importare la classe da qualche libreria esterna, ma non conosco bene Composer e non sono riuscito a risolvere niente.
    Sto usando php 7.1.26, e MariaDB 10.1.38

    Per favore avreste un'idea di come risolvere il problema della classe mancante?
    Devo cercare di far funzionare queste librerie da una semplicissima pagina php, ma sono bloccato.
    Grazie
     
  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    966
    Mi Piace Ricevuti:
    56
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    Probabilmente non l'hai installato con tutte le dipendenze, hai copiato le directory e basta, ecco perchè....

    Codice:
    {
        "require": {
            "semsol/arc2": "^2.4"
        }
    }
    
    composer update
     
    Ultima modifica: 13 Marzo 2019
  3. tritabit

    tritabit Nuovo Utente

    Registrato:
    14 Agosto 2017
    Messaggi:
    7
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Hai ragione!
    Sono andato a controllare il mio file composer.json: avevo lasciato vuoto l'elenco delle librerie sotto "require" :-(
    Ho sistemato il file composer.json come mi hai detto, e finalmente ho eseguito una installazione corretta con 'composer update'.
    Ho corretto i miei file php per includere le nuove librerie, e sembra funzionare tutto.

    Grazie mille!
     
Sto caricando...
Discussioni simili - Classe MysqliDb mancante
  1. tucu49
    Risposte:
    8
    Visite:
    351
  2. mau90
    Risposte:
    1
    Visite:
    122
  3. mau90
    Risposte:
    2
    Visite:
    128
  4. domenicotd
    Risposte:
    1
    Visite:
    192
  5. webfra01
    Risposte:
    4
    Visite:
    286

Condividi questa Pagina