/ / Підключення з PHP до Oracle DB за допомогою Oracle Wallet - php, oracle

Підключіться з PHP до бази даних Oracle, використовуючи Oracle Wallet - php, oracle

Чи можна налаштувати PHP на використання захищеного зовнішнього сховища паролів, як описано в http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/cnctslsh.htm?

Відповіді:

2 для відповіді № 1

Так, можливо, потрібно:
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, для постійних з'єднань, і той же синтаксис
Я сподіваюся, що це допоможе, і я нічого не забув