sql >> Databasteknik >  >> RDS >> Oracle

Anslut från PHP till en Oracle DB med en Oracle Wallet

Ja det är möjligt, du måste:
1 - skapa en plånbok (som förklaras i din länk)
2 - sätta Oracle-instant-klienten och plånboksfilerna någonstans på servern med Apache+PHP (till exempel /opt/instantclient och /opt/wallet)
3 - starta Apache med följande variabler:

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

4 - Skapa en tnsnames.ora-filer i /opt/wallet med detta innehåll:

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

där WALLET_NAME är namnet på plånboken som valts när plånboken har skapats, DB_IP är databasens ip-adress eller värdnamn, DB_PORT är db-porten och DB_SID är sidan av databasen
5 - I /opt/wallet skapa en sqlnet.ora-filer med detta innehåll:

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

SQLNET.WALLET_OVERRIDE = TRUE  

6 - starta om Apache

På PHP-kodsidan kan du nu ansluta till databasen och öppna en anslutning med följande kod:

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

du kan annars använda oci_pconnect, för beständiga anslutningar, och samma syntax
Jag hoppas att detta hjälper och att jag inte glömde någonting




  1. mysqli::query() returnerar true på utvalda frågor

  2. Skillnaden mellan Oracle Instant Client och Oracle Client

  3. Escape en sträng i SQL Server så att den är säker att använda i LIKE-uttryck

  4. Hur får man tabellskript i Oracle SQL Developer?