Classe MysqliDb mancante nelle librerie arc2

tritabit

Nuovo Utente
14 Ago 2017
7
0
1
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
 

macus_adi

Utente Attivo
5 Dic 2017
1.209
77
48
IT/SW
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:

tritabit

Nuovo Utente
14 Ago 2017
7
0
1
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!