Version 8 (modified by JP, 8 years ago)

--

Instalacja rozszerzenia ORACLE dla PHP

Generalnie całość instalacji przechodzi bez przeszkód, posługując się dokumentacją

https://help.ubuntu.com/community/Oracle%20Instant%20Client

z tą różnicą że w kilku miejscach nie zgadza się link do biblioteki jeśli serwer ma architekturę i386/i686 czyli 32bit (bo wówczas nazwa katalogu nie jest client64 tylko client.

Instalujemy pobieramy 3 paczki (basic-client, sdk oraz sqlplus)

Pamiętać konieczne o dodaniu ścieżek do /etc/profile. W tym celu należy edytorem np. [vim wiki:AdminGuide/Vim] otworzyć plik /etc/profile oraz do /etc/apache2/envvars i wpisać tam:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin

Klient już powinien działać, można przetestować:

sqlplus user/passwd@//192.168.1.4:1521/sid

Następnie możemy testować połączenie przez TNS, o ile utworzymy definicję połaczenia TNS:

mkdir -p /usr/lib/oracle/xe/app/oracle/product/12.1/client/network/admin
vim /usr/lib/oracle/xe/app/oracle/product/12.1/client/network/admin/tnsnames.ora

Do pliku tnsnames.ora należy wpisać dane: CERES zastepujemy nazwą:http://www.orafaq.com/wiki/Tnsnames.ora

CERES =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SEARS)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = CERES)
)
)

Następnie instalacja peclem rozszerzenia php (nie najnowsze bo jest zlinkowane z PHP7):

pecl install oci8-2.0.12
w trakcie należy podać ścieżkę do ORACLE_HOME (tą samą co wyżej w zmiennej ORACLE_HOME)

Następnie dodajemy plik z treścią: extension=oci8.so
vim /etc/php5/conf.d/20-oci.ini

Restart apache. W tym momencie powinny działać już przykładowe skrypty php do połączenia z ORACLE. oci_connect.

Po udanym teście można rozpocząć konfigurację źródła ORACLE w eDokumenty.

TROUBLESHOOTING

Patrz wyżej - dokładnie przeczytaj manual z podanego linka i powyższe komentarze.