Sto cercando di installare l'estensione OCI8 su Red Hat 7 (PHP 5.6.x.) Ho trascorso almeno due giorni a cercare di capire questo tra cui la combinazione di SuperUser e StackOverflow. Finora nessuna delle risposte ha risolto il problema.
Ho Oracle Instant Client installato su:
/usr/lib/oracle/12.1/client64/lib/
Quando eseguo il seguente comando:
pecl install oci8-2.0.10 --with-oci8=instantclient,/usr/lib/oracle/12.1/client64/lib/
Mi chiede di fornire il percorso per ORACLE_HOME. Ho confermato che questo è già stato definito, quindi ho premuto Invio per continuare. Una volta fatto, passa attraverso i comandi make e gli errori a questo:
/bin/sh /var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/libtool --mode=compile cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/include -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/home/oracle/oracle/product/rdbms/public -I/home/oracle/oracle/product/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c -o oci8.lo
libtool: compile: cc -I. -I/var/tmp/oci8 -DPHP_ATOM_INC -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/include -I/var/tmp/pear-build-rootb3mVn8/oci8-2.0.10/main -I/var/tmp/oci8 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/home/oracle/oracle/product/rdbms/public -I/home/oracle/oracle/product/rdbms/demo -DHAVE_CONFIG_H -g -O2 -c /var/tmp/oci8/oci8.c -fPIC -DPIC -o .libs/oci8.o
In file included from /var/tmp/oci8/oci8.c:48:0:
/var/tmp/oci8/php_oci8_int.h:60:17: fatal error: oci.h: No such file or directory
#include <oci.h>
^
compilation terminated.
make: *** [oci8.lo] Error 1
ERROR: `make' failed
Capisco che non riesce a trovare il file oci.h. Quindi immagino che se gli fornisco la posizione di Oracle Instant Client andrà oltre quell'errore. Quindi al comando precedente in cui richiede la variabile d'ambiente ORACLE_HOME, gli fornisco quanto segue:
checking Oracle ORACLE_HOME install directory... /usr/lib/oracle/12.1/client64/lib/
checking ORACLE_HOME library validity... configure: error: Expected an ORACLE_HOME top level directory but /usr/lib/oracle/12.1/client64/lib/ appears to be an Instant Client directory. Try --with-oci8=instantclient,/usr/lib/oracle/12.1/client64/lib/
ERROR: `/var/tmp/oci8/configure --with-oci8=/usr/lib/oracle/12.1/client64/lib/' failed
Non riesco a capire perché stia fallendo. Ho sentito che l'SDK deve essere installato, ma per quanto ne so, quando ho installato il client istantaneo, ho installato anche l'SDK.
Qualsiasi aiuto sarebbe molto apprezzato. Grazie!