sql >> Database teknologi >  >> RDS >> Oracle

Opret forbindelse fra PHP til en Oracle DB ved hjælp af en Oracle Wallet

Ja, det er muligt, du skal:
1 - oprette en tegnebog (som forklaret i dit link)
2 - lægge Oracle-instant-klienten og tegnebogsfilerne et sted på serveren med Apache+PHP (f.eks. /opt/instantclient og /opt/wallet)
3 - start Apache med følgende variabler:

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

4 - I /opt/wallet opret en tnsnames.ora filer med dette indhold:

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

hvor WALLET_NAME det er navnet på den tegnebog, der blev valgt, da tegnebogen blev oprettet, DB_IP er databasens ip-adresse eller værtsnavn, DB_PORT er db-porten, og DB_SID er siden af ​​databasen
5 - I /opt/wallet opret en sqlnet.ora-filer med dette indhold:

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

SQLNET.WALLET_OVERRIDE = TRUE  

6 - genstart Apache

På PHP-kodesiden kan du nu oprette forbindelse til databasen og åbne en forbindelse med følgende kode:

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

ellers kan du bruge oci_pconnect, til vedvarende forbindelser, og den samme syntaks
Jeg håber dette hjælper, og jeg har ikke glemt noget




  1. Kan ikke oprette en tabel - FEJL 1064 (42000):Du har en fejl i din SQL-syntaks

  2. Indsættelse af flere ordbogsobjekter i en MySQL-database ved hjælp af python og MySQLdb

  3. Brug af UDF som standardværdi for en kolonne

  4. hvordan man kører en mysql-forespørgsel i yii