[英]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.