/ / Connexion de PHP à une base de données Oracle à l'aide d'un portefeuille Oracle - php, oracle

Connexion de PHP à une base de données Oracle à l'aide d'un portefeuille Oracle - php, oracle

Est-il possible de configurer PHP pour utiliser un magasin de mots de passe externe sécurisé, comme décrit dans http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/cnctslsh.htm?

Réponses:

2 pour la réponse № 1

Oui c’est possible, vous devez:
1 - créer un portefeuille (comme expliqué dans votre lien)
2 - placez 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émarrez 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 correspond au nom du portefeuille choisi lors de sa création, DB_IP à l’adresse IP ou au nom d’hôte de la base de données, DB_PORT au "port de base de données" et DB_SID au "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 aide et je n'ai rien oublié