Поради няколко неправилни конфигурации и 3 загубени дни, докато търся решение, прехвърлих се да разработвам на Linux сървър и всички проблеми изчезнаха.
Какво открих:
- и двете
php_oci8.dll
иphp_oci8_11g.dll
зависят от библиотеките на Oracle Instant Client- тези библиотеки не съдържат
oci_
функции (катоoci_connect
), самоociX
функции (катоociLogon
) което е странно...
- тези библиотеки не съдържат
- въпреки че съм почти сигурен, че съм изтеглил Oracle Instant Client Basic и всички разширения, не успях да се свържа с друг сървър на Oracle поради неизвестен набор от знаци и грешката казваше, че използвам само Lite незабавен клиент...
- Опитах както 64-битова, така и 32-битова версия на незабавен клиент без резултат
- моят Apache е 64-битов, Windows е 64-битов, PHP е 32-битов, отдалечен сървър на Oracle е 64-битов, отдалечен Linux сървър е 64-битов...
- изпробва много настройки на средата (
ORA_HOME
,TNS_ADMIN
, коригиранPATH
за да потърсите незабавна клиентска инсталация) без резултат - опитах да деинсталирам локалния сървър на Oracle XE поради възможна намеса в настройките на средата без резултат
- почти загубих главата си - безуспешно...
Така че накрая на Linux сървър нямам проблеми със свързването към отдалечен сървър на Oracle. Някъде (докато сърфирах в хиляди страници, свързани с PHP-Oracle) намерих информация, че „човек не трябва да разработва PHP приложение, свързващо се със сървър на Oracle под Windows“ и вместо това трябва да се придържа към UNIX системата...
И така, с всеки изпитвате подобни или същите проблеми - бъдете мили и не губете времето си, инсталирайте VirtualBox, стартирайте Linux на него и продължете напред!