transaction - programmare php mysql




Cercando di creare l'estensione PHP PDO per Rocket U2 (2)

So che ho fatto questa domanda molto tempo fa, ma l'ultima soluzione che ho avuto è stata scrivere un middleware in C # con le librerie .Net di Rocket insieme ad alcune classi PHP in grado di leggere ed elaborare i dati da UniData.

Se qualcuno è interessato a maggiori dettagli su come ho avuto accesso a UniData da PHP, non esitare a mandarmi una linea.

https://code.i-harness.com

Mi chiedo se qualcuno mi può aiutare con un problema che mi sta facendo tirare fuori ciò che resta dei miei capelli ...

Attualmente sto lavorando a un progetto che richiede di parlare con un database Unidata. PHP non ha un driver nativo per accedere a questo tipo di database, tuttavia, dopo un po 'su Google, ho trovato quanto segue:

https://u2devzone.rocketsoftware.com/accelerate/articles/u2-pdo-driver/u2-pdo-driver .

Ho l'intestazione e la libreria U2 Intercall e penso di includerli correttamente. Tuttavia, l'estensione viene compilata ma non supera i test in quanto errori

pdo_u2.so: undefined symbol: ic_universe_session in Unknown on line 0

il che mi suggerisce che non è collegato alla biblioteca. Quando modifico il makefile e indico a mano che la libreria deve essere inclusa, si sbaglia con

relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/kaigoh/Downloads/intcall/lib/libuvic.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [pdo_u2.la] Error 1

Ho provato a forzare l'opzione -fPIC nel makefile ma ottengo lo stesso errore.

Semplicemente non ne so abbastanza di compilare estensioni PHP personalizzate per aiutare me stesso, e spero che qui ci sia un guru che può indicarmi la giusta direzione!

AGGIORNAMENTO: Questo compila perfettamente usando un'installazione a 32 bit di Linux, quindi non ho idea del perché non funzioni con un'installazione a 64 bit ...


lib / libuvic.a deve essere ricompilato con -fPIC, non solo il codice che tenta di collegarsi ad esso. Non posso dire dai tuoi campioni di output se hai ricompilato la libreria con -fPIC, oppure no.





unidata