Възможно ли е да конфигурирате PHP да използва защитен външен магазин за пароли, както е описано в http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/cnctslsh.htm?
Отговори:
2 за отговор № 1Да, възможно е, трябва да:
1 - създайте портфейл (както е обяснено във вашата връзка)
2 - поставете Oracle instant client и файловете на портфейла някъде на сървъра с 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, за постоянни връзки и същия синтаксис
Надявам се това да помогне и не съм забравил нищо