Procédure d'installation du **module PHP OCI8** afin de permettre d'utiliser les connexions à une base de données Oracle en PHP.
Cette procédure se fait en 2 étapes, commencer par récupérer et installer les différents utilitaires pour la connexion à Oracle (utilitaires indépendant de PHP). Puis l'installation du module PHP OCI8.
Cette procédure se fait en 2 étapes, commencer par récupérer et installer les différents utilitaires pour la connexion à Oracle (utilitaires indépendants de PHP). Puis l'installation du module PHP OCI8.
### Prérequis
-*phpize* et *pecl* Installation du paquet `php7.4-dev`
## Oracle Instant Client
Les différents utilitaires sont accessibles depuis la page <https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html>
Running on: Linux ED209 #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64
service apache2 restart
```
> Si vous êtes derrière un proxy, utilisez la commande `pear config-set http_proxy http://<user>:<password>@<ip_proxy>:<port>` pour régler le proxy utilisé par PEAR (il n'utilise pas le proxy système...)
PECL a besoin de **phpize** qui est inclus dans la librairie **php7.3-dev** pour compiler certains module (dont OCI8 qui nous interesse):
```bash
$ apt install php7.3-dev
$ phpize -v
Configuring for:
PHP Api Version: 20180731
Zend Module Api No: 20180731
Zend Extension Api No: 320180731
```
### OCI8
```bash
pecl install oci8
```
Enfin, on installe OCI8. Vous devrez renseigner l'emplacement de l'instantclient installé à l'étape précédente :
la réponse sera : **instantclient,/opt/oracle/instantclient_X_X**
### PHP.INI
On va maintenant activer le module PHP (OCI8) dans le PHP.INI.
Pensez à le faire pour les PHP CLI et SERVEUR
```
# Extrait du fichier php.ini
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
# ON ACTIVE OCI8
extension=oci8 ; Use with Oracle Database 12c Instant Client
> Pour éviter les problèmes de compatibilité, il est fortement recommandé de supprimer les anciennes version de php avec `apt remove`
Installation des paquets PHP
```bash
@@ -39,7 +41,7 @@ apt install php7.4 \
php7.4-curl \
php7.4-dom \
php7.4-gd \
php7.4-gearman \
gearman-php\
php7.4-intl \
php7.4-ldap \
php7.4-mbstring \
@@ -48,9 +50,10 @@ apt install php7.4 \
php7.4-zip
```
### Passage PHP7.3 > PHP7.3
Il faut ensuite configurer l'utilisation de PHP pour l'utilisation en ligne de commande (**cli**) et *Apache* :
> Si vous conservez d'ancienne versions de PHP, Il faut configurer l'utilisation de PHP pour l'utilisation en ligne de commande (**cli**) et *Apache* :
#### Pour PHP-CLI
@@ -84,6 +87,10 @@ a2enmod php7.4
systemctl restart apache2
```
#### OCI
Le module PHP *OCI8* assure la connexion entre Oscar et SIFAC, pour l'installer, suivez la procédure suivante : [Installation OCI8 pour PHP7.4](./install-oracle-pp.md)
#### Vérifier
Vérifier que tout les modules PHP sont bien chargés en 7.4 :