Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OCI8 ΠΈΠ· PECL
ΠΠΎΠ΄ΡΠ»Ρ OCI8 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ PHP ΠΊΠ°ΠΊ
Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π²ΡΡΡΠ½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
» PECL.
-
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π·Π° ΡΠ°ΠΉΠ΅ΡΠ²ΠΎΠ»ΠΎΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ
PEAR, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
-
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅
ΠΠ»Ρ PHP 7, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ pecl install oci8-2.2.0
ΠΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π»ΠΈΠ±ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ $ORACLE_HOME, Π»ΠΈΠ±ΠΎ
instantclient,/path/to/instant/client/lib.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ
$ORACLE_HOME ΠΈΠ»ΠΈ $HOME
Ρ.ΠΊ. ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²ΡΡΠ½ΡΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
/opt/oracle/product/19c/dbhome_1
ΠΈΠ»ΠΈ
instantclient,/Users/myname/Downloads/instantclient_19_8.
-
ΠΡΠΈΠ±ΠΊΠ° oci8_dtrace_gen.h: No such file or
directory ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ PHP Π±ΡΠ» ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ
DTrace Dynamic Tracing.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΡΠ°ΠΊ:
-
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² php.ini ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ oci8.so ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ,
Π·Π°Π΄Π°Π½Π½ΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ extension_dir
ΡΠ°ΠΉΠ»Π° php.ini.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OCI8 ΠΈΠ· PECL Ρ ΠΏΠΎΠΌΠΎΡΡΡ phpize
ΠΡΠ»ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
pecl, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ
Ρ ΡΠ°ΠΉΡΠ° » PECL.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ oci8-3.0.0.tgz.
-
Π Π°Π·Π°ΡΡ
ΠΈΠ²ΠΈΡΡΠΉΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ:
-
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π΅Π³ΠΎ:
-
Π‘ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ
$ORACLE_HOME ΠΈΠ»ΠΈ Instant Client
or
-
ΠΡΠΎΠΈΠ½ΡΡΠ°Π»Π»ΠΈΡΡΠΉΡΠ΅:
-
ΠΡΠΈΠ±ΠΊΠ° oci8_dtrace_gen.h: No such file or
directory ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ PHP Π±ΡΠ» ΡΠΎΠ±ΡΠ°Π½ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ
DTrace Dynamic Tracing.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ configure
ΠΈ make, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
-
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² php.ini ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ oci8.so ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ,
Π·Π°Π΄Π°Π½Π½ΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ extension_dir
ΡΠ°ΠΉΠ»Π° php.ini.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OCI8 Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ (shared) ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ PHP
Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ shared ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ±ΡΠ°ΡΡ
OCI8 Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘Π±ΠΎΡΠΊΠ° Π² Π²ΠΈΠ΄Π΅
ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ OCI8 Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠΈ
Π²ΡΠ΅Π³ΠΎ PHP.
Π‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ OCI8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠΏΡΠΈΠΉ.
-
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Β»Β
Oracle Instant Client:
ΠΡΠ»ΠΈ Instant Client 12.2 (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΠΉ) ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ· ZIP-Π°ΡΡ
ΠΈΠ²Π°, Π½Π΅
Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
ln -s libclntsh.so.12.1 libclntsh.so.
ΠΡΠ»ΠΈ Oracle Instant Client Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ RPM, ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, --with-oci8=shared,instantclient,/usr/lib/oracle/19.9/client/lib
-
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Oracle database ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅
Oracle Client:
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ Π·Π°ΠΏΡΡΠ΅Π½ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ,
(nobody, www) ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ
ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ, ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ
tnsnames.ora (Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ) Π² ΠΏΠ°ΠΏΠΊΠ΅
$ORACLE_HOME. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Oracle
10gR2, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ Π·Π°ΠΏΡΡΠΊ ΡΡΠΈΠ»ΠΈΡΡ
$ORACLE_HOME/install/changePerm.sh Π΄Π»Ρ
ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ PHP, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
make install, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ
ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° oci8.so. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ
ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PHP, ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΎΠΏΡΠΈΠ΅ΠΉ extension_dir Π²Π°ΡΠ΅Π³ΠΎ
php.ini.
ΠΠ»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OCI8 Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² php.ini:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OCI8 Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
Π‘Π±ΠΎΡΠΊΠ° PHP ΡΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ OCI8, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΎΠΏΡΠΈΠΉ.
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PHP, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
make install. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ oci8.so Π² ΡΠ°ΠΉΠ» php.ini.
ΠΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ°Π³ΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OCI8 Π² Windows
ΠΠΎΠ΄ΡΠ»Ρ OCI8 ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² PHP Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
» PECL или из
Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ext, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉΡΡ Π² Π²Π°ΡΠ΅ΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ PHP.
ΠΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Oracle 12c (ΠΈ Π²ΡΡΠ΅), ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π² php.ini: extension=php_oci8_12c.dll,
extension=php_oci8_11g.dll
ΠΈΠ»ΠΈ extension=php_oci8.dll. ΠΠ΄ΠΈΠ½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ
ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π». Π‘ΠΎΡΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ PHP.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ extension_dir
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ PHP.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Instant Client, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ PATH Π½Π° ΠΏΠ°ΠΏΠΊΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ
Oracle.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ,
ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠ»ΠΈ Π²Π°Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ
ΡΡΠ°ΡΡΡΠ΅Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅, ΡΠΎ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅
ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle ΡΠ΅ΡΠ΅Π·
putenv() Π² PHP-ΡΠΊΡΠΈΠΏΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Oracle ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ°
Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π·
putenv() ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΏΠ°Π΄Π΅Π½ΠΈΡ
ΠΈ ΠΏΡΠΎΡΠ΅Π΅ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ,
Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π²Π°ΡΡ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ
ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π Red Hat Linux ΠΈ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ
, ΡΠΊΡΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Π°
/etc/sysconfig/httpd. ΠΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Ρ
Apache 2 ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΡΠΈΠΏΡ envvars
ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ bin Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ Apache. Π’ΡΠ΅ΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ
ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Apache SetEnv Π² ΡΠ°ΠΉΠ»Π΅
httpd.conf, Π½Π° ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ,
ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ Π² ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ,
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ phpinfo() ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π»
Environment (Π½Π΅ Apache
Environment) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ.
ΠΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ
Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Oracle.
ΠΠ±ΡΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle
| ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ |
Π¦Π΅Π»Ρ |
| ORACLE_HOME |
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΠΏΠ°ΠΏΠΊΡ, Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
Oracle. ΠΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡΠ΅ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
Oracle Instant Client, Ρ.ΠΊ. Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ
Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅. |
| ORACLE_SID |
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ
ΠΈΠ΄ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Oracle Instant Client, ΠΈΠ»ΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ
Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΡ
oci_connect(). |
| LD_LIBRARY_PATH |
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (ΠΈΠ»ΠΈ Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
LIBPATH
ΠΈΠ»ΠΈ SHLIB_PATH) Π² ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Oracle, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, $ORACLE_HOME/lib ΠΈΠ»ΠΈ
/usr/lib/oracle/18.5/client/lib. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅,
ΡΡΠΎ Π΄Π»Ρ ZIP Π°ΡΡ
ΠΈΠ²ΠΎΠ² Instant Client Π² Linux Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ldconfig. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅
Instant Client. ΠΠ»Ρ RPM ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Instant Client 19 (ΠΈ ΡΡΠ°ΡΡΠ΅),
ldconfig, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΡΠΎ-ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
LD_PRELOAD Π²ΠΌΠ΅ΡΡΠΎ LD_LIBRARY_PATH.
|
| NLS_LANG |
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ
ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
Oracle. |
| ORA_SDTZ |
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ ΡΠ΅ΡΡΠΈΠΈ Oracle. |
| TNS_ADMIN |
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ
ΡΠ°Π½ΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
Oracle Net Services, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ tnsnames.ora
ΠΈ sqlnet.ora. Π Π½Π΅ΠΉ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ
ΡΡΡΠΎΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ oci_connect()
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Easy Connect, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
localhost/XE. Π Π½Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ
ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π² ΠΌΠ΅ΡΡΠ°Ρ
Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ,
ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ
/usr/lib/oracle/VERSION/client/lib/network/admin,
$ORACLE_HOME/network/admin ΠΈΠ»ΠΈ
/etc. |
ΠΠ΅Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ
TWO_TASK,
ORA_TZFILE, Π° ΡΠ°ΠΊΠΆΠ΅
ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Oracle Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
NLS* ΠΈ
ORA_NLS_*.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ
Π‘Π°ΠΌΠΎΠΉ ΡΠ°ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OCI8 ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ
ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Oracle. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΏΡΠΈ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ oci_connect() ΠΈΠ»ΠΈ
oci_pconnect(). ΠΡΠΈΠ±ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ Π²
Π²ΠΈΠ΄Π΅ ΠΎΡΠΈΠ±ΠΎΠΊ PHP, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Call to undefined function
oci_connect(), ΠΎΡΠΈΠ±ΠΎΠΊ Oracle, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ORA-12705,
ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΡΡΡΠ΅Π½ΠΈΡ Apache. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Ρ Apache Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅
ΠΎΡΠΈΠ±ΠΎΠΊ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ORA-12154 ΠΈΠ»ΠΈ
ORA-12514 ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π² ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠΈ
Oracle, ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ PHP, ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Oracle Π½Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΠΉΡΠΈ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» tnsnames.ora.
Π Windows, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π²Π΅ΡΡΠΈΠΉ Oracle Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅
ΠΌΠΎΠΆΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ
ΠΏΡΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠΈ ΠΎΡΠΎΠ±ΡΡ
ΠΌΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠΈΡ
, ΡΡΠΎ
PHP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ Oracle.
Π£ΡΠΈΠ»ΠΈΡΠ°, ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΠΊΠΎΠΌΡΠ΅ ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π² ΠΈΡΠΎΠ³Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ,
ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ
ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ
, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Windows.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΡΠ»ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΡΡΠ°ΡΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠ°Π΄Π°Π΅Ρ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Apache ΡΠΎΠ±ΡΠ°Π½ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ pthread:
ΠΡΠ»ΠΈ libpthread Π½Π΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅, ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Apache:
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ UnixWare,
libpthread Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ libthread. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, PHP ΠΈ Apache Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ
Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ EXTRA_LIBS=-lthread.