Oracle
 sql >> база данни >  >> RDS >> Oracle

Свържете се от PHP към Oracle DB с помощта на Oracle Wallet

Да, възможно е, трябва да:
1 - създадете портфейл (както е обяснено във вашата връзка)
2 - да поставите незабавния клиент на Oracle и файловете на портфейла някъде на сървъра с Apache+PHP (например /opt/instantclient и /opt/wallet)
3 - стартирайте Apache със следните променливи:

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

4 – В /opt/wallet създайте tnsnames.ora файлове със следното съдържание:

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

където WALLET_NAME това е името на портфейла, избран при създаването на портфейла, DB_IP това е ip адресът на базата данни или името на хоста, DB_PORT това е db портът и DB_SID това е sid на базата данни
5 - В /opt/wallet създайте файлове sqlnet.ora с това съдържание:

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

SQLNET.WALLET_OVERRIDE = TRUE  

6 - рестартирайте Apache

От страната на PHP кода сега можете да се свържете към базата данни, отваряйки връзка със следния код:

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

можете да използвате иначе oci_pconnect за постоянни връзки и същия синтаксис
Надявам се това да помогне и не съм забравил нищо




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - Използване на съединения за намиране на стойности в една таблица, а не в друга

  2. Софтуерни компании, които работят върху Oracle D2k, PLSQL Technologies в Нойда

  3. Може ли SQL процедура да върне таблица?

  4. Включете стойността на RowId във вложената таблица

  5. Необходимо ли е да изхвърлите DbCommand след употреба?