Поради няколко неправилни конфигурации и 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 на него и продължете напред!