Einträge mit Schlagwort ‘oci8’

pecl & oci8 unter ubuntu 9.04

Montag, April 19th, 2010

Zend Server CE bringt diese Extension gleich mit und man muss nur darauf achten, dass man libaio1 installiert hat. Hat man aber sein System mit Paketen installiert, fehlt einem irgendwann die Extension oci8. Diese Extension setzt (wie unter Windows auch) den Oracle Instant Client voraus. Der Client ist unter http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html als rpm oder zip zu bekommen. Wir benötigen Basic & SDK.

user@host:/opt$ sudo unzip /tmp/instantclient-basic-linux32-11.2.0.1.zip
user@host:/opt$ sudo unzip /tmp/instantclient-sdk-linux32-11.2.0.1.zip
user@host:/opt$ sudo ln -s instantclient_11_2/ instantclient
user@host:/opt/instantclient$ sudo ln -s libclntsh.so.11.1 libclntsh.so
 
# Abhängigkeiten: php5-dev, libaio1
user@host:/opt$ sudo aptitude install php5-dev libaio1
 
# Installation von Pecl oci8
user@host:/opt$ sudo pecl update-channels
# Bei der Eingabeaufforderung nun "instantclient,/opt/instantclient" angeben
user@host:/opt$ sudo pecl install oci8

Sollte die Installation der Extension nicht erfolgen weil der Pfad zum Instantclient nicht akzeptiert wird kann man die Extension dennoch “zu Fuß” kompilieren:

# Das Downloadverzeichnis befindet sich norm. unter /tmp/pecl
user@host:/tmp/pecl/download/oci8-1.4.1$ sudo phpize
user@host:/tmp/pecl/download/oci8-1.4.1$ sudo ./configure --with-oci8=shared,instantclient,/opt/instantclient
user@host:/tmp/pecl/download/oci8-1.4.1$ sudo make
user@host:/tmp/pecl/download/oci8-1.4.1$ sudo make install

Die Extension aktivieren wir in der php.ini, die gewöhnlich unter /etc/php5/apache2/php.ini liegt und ergänzen sie um folgende Zeile: extension=oci8.so
Alternativ kann man auch eine eigene Konfigurationsdatei anlegen unter /etc/php5/conf.d/oci.ini und hier die gleiche Zeile eingeben.
Apache neu starten - fertig.

Zend Server CE + oci8 unter Ubuntu 9.04

Montag, September 28th, 2009

Unter Ubuntu 9.04 verweigert der Zend Server CE leider das Starten der oci8 Extension. Unter Monitor -> Logs (bzw. [INSTALL-DIRECTORY]/zend/var/log/php.log) findet sich der Hinweis auf eine fehlende Library:

[28-Sep-2009 19:58:54] PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/zend/lib/php_extensions/oci8.so’ - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
[28-Sep-2009 19:58:54] PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/local/zend/lib/php_extensions/pdo_oci.so’ - libaio.so.1: cannot open shared object file: No such file or directory in Unknown on line 0

Lösung:

sudo apt-get install libaio1