ВрСбования

ΠœΠΎΠ΄ΡƒΠ»ΡŒ OCI8 3.0 Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² PHP 8. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ доступСн Π² » PECL. Для PHP 7, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ OCI8 2.2 from » PECL. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ OCI8 Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Oracle 10g ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅.

Если Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Oracle находится Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС, Ρ‡Ρ‚ΠΎ ΠΈ PHP, Ρ‚ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΆΠ΅ установлСны. Если PHP установлСн Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСсплатныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ с » Oracle Instant Client.

Для использования Oracle Instant Client, установитС Basic ΠΈΠ»ΠΈ Basic Lite zip-Π°Ρ€Ρ…ΠΈΠ² Oracle Instant Client ΠΈΠ»ΠΈ RPM ΠΈΠ»ΠΈ DMG ΠΏΠ°ΠΊΠ΅Ρ‚. ΠŸΡ€ΠΈ сборкС PHP ΠΈΠ· исходного ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΆΠ΅ установитС Instant Client SDK.

НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PHP с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ свСТими вСрсиями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Oracle, Ρ‡Π΅ΠΌ Ρ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±Ρ‹Π» собран ΠΌΠΎΠ΄ΡƒΠ»ΡŒ OCI8.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной сСтСвой совмСстимости Oracle, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈΡΡ вСрсиями Oracle Client ΠΈ Oracle Database. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ смотритС Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ совмСстимости ID 207303.1. Π’ ΠΊΡ€Π°Ρ‚Ρ†Π΅, Oracle Client 19, 18 ΠΈ 12.2 ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ с Oracle Database 11.2 ΠΈ Π²Ρ‹ΡˆΠ΅. Oracle Client 12.1 ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ с Oracle Database 10.2 ΠΈ Π²Ρ‹ΡˆΠ΅. Oracle Client 11.2 ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ с Oracle Database 9.2 ΠΈ Π²Ρ‹ΡˆΠ΅.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ возмоТностСй OCI8 Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… вСрсий клиСнтских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Oracle ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 5 notes

up
5
Wilber ΒΆ
3 years ago
The OCI8 extension lets you access Oracle Database.

Use 'pecl install oci8' to install for PHP 8.1.

Use 'pecl install oci8-3.0.1' to install for PHP 8.0.

Use 'pecl install oci8-2.2.0' to install for PHP 7.

Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6.

Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1.

[username@hostname ~]# php -v
^ To see PHP version
up
0
sgfan at gmx dot net ΒΆ
8 years ago
I can confirm Rainer's observations and this not limited to PHP. One cannot link libopenldap with C with Oracle driver without crashing the app at runtime. Same here on HP-UX. Both won't play nice at all.
up
0
Rainer Perske ΒΆ
8 years ago
Oracle Instant Client provides its own LDAP library that may be incompatible to the LDAP library provided by the operating system.

Segmentation faults and other errors can happen if you load an OCI8 extension into a PHP containing LDAP support or if you load a PHP module with OCI8 into an Apache server with LDAP support.

But this depends heavily on the exact versions of operating system, system LDAP library, PHP,  OCI8, and other pieces of software involved.
up
-1
charles dot fisher at arconic dot com ΒΆ
6 years ago
Oracle's development package includes an ldap.h file that causes compilation attempts of PHP to fail.

For the oracle-instantclient12.2-devel 64-bit RPM, this file is found in the following path:

/usr/include/oracle/12.2/client64/ldap.h

Rename this file to ldap.h-oracle.

After doing so, and assuming there are no other build problems, PHP will compile (even when ldap and oci are configured in the build).