Oracle
 sql >> Base de données >  >> RDS >> Oracle

Connectez-vous de PHP à une base de données Oracle à l'aide d'un portefeuille Oracle

Oui c'est possible, vous devez :
1 - créer un portefeuille (comme expliqué dans votre lien)
2 - mettre le client instantané Oracle et les fichiers du portefeuille quelque part sur le serveur avec Apache+PHP (par exemple /opt/instantclient et /opt/wallet)
3 - démarrer Apache avec les variables suivantes :

ORACLE_HOME=/opt/instantclient   
LD_LIBRARY_PATH=/opt/instantclient   
TNS_ADMIN=/opt/wallet  

4 - Dans /opt/wallet créez un fichier tnsnames.ora avec ce contenu :

WALLET_NAME =  
  (DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = DB_IP)(PORT = DB_PORT))    
    (CONNECT_DATA = (SID = DB_SID))    
  )   

où WALLET_NAME c'est le nom du portefeuille choisi lors de la création du portefeuille, DB_IP c'est l'adresse IP ou le nom d'hôte de la base de données, DB_PORT c'est le port de la base de données et DB_SID c'est le sid de la base de données
5 - Dans /opt/wallet créez un fichier sqlnet.ora avec ce contenu :

WALLET_LOCATION =    
   (SOURCE =     
     (METHOD = FILE)     
     (METHOD_DATA =     
       (DIRECTORY = /opt/wallet)     
     )      
    )     

SQLNET.WALLET_OVERRIDE = TRUE  

6 - redémarrer Apache

Du côté du code PHP, vous pouvez maintenant vous connecter à la base de données en ouvrant une connexion avec le code suivant :

$conn = oci_connect("/", "", "WALLET_NAME", null, OCI_CRED_EXT);

vous pouvez utiliser sinon le oci_pconnect, pour les connexions persistantes, et la même syntaxe
J'espère que cela vous aidera et que je n'ai rien oublié