簡體   English   中英

使用Oracle Wallet從PHP連接到Oracle DB

[英]Connect from PHP to an Oracle DB using an Oracle Wallet

是否可以將PHP配置為使用安全的外部密碼存儲庫,如http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/cnctslsh.htm中所述

是的,有可能,你需要:
1 - 創建一個錢包(如鏈接中所述)
2 - 使用Apache + PHP將Oracle即時客戶端和錢包文件放在服務器上的某個位置(例如/ 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_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,用於持久連接和相同的語法
我希望這有幫助,我沒有忘記任何事情

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM