Vanwege verschillende verkeerde configuraties en 3 dagen verloren tijdens het zoeken naar een oplossing, ben ik gaan ontwikkelen op een Linux-server en alle problemen zijn verdwenen.
Wat ik heb gevonden:
- beide
php_oci8.dll
enphp_oci8_11g.dll
zijn afhankelijk van de Oracle Instant Client-bibliotheken- deze bibliotheken bevatten geen
oci_
functies (zoalsoci_connect
), alleenociX
functies (zoalsociLogon
) wat vreemd is...
- deze bibliotheken bevatten geen
- hoewel ik er vrij zeker van ben dat ik Oracle Instant Client Basic heb gedownload en alle extensies, ik kon geen verbinding maken met een andere Oracle-server vanwege een onbekende charset en de fout zei dat ik alleen Lite gebruik directe klant...
- Ik heb zowel de 64-bits als de 32-bits instant-clientversie geprobeerd, maar zonder resultaat
- mijn Apache is 64-bits, Windows is 64-bits, PHP is 32-bits, Oracle-server op afstand is 64-bits, Linux-server op afstand is 64-bits...
- veel omgevingsinstellingen geprobeerd (
ORA_HOME
,TNS_ADMIN
, aangepastPATH
om te kijken naar instant client-installatie) zonder resultaat - geprobeerd de lokale Oracle XE-server te verwijderen vanwege mogelijke interferentie met omgevingsinstellingen, maar zonder resultaat
- bijna mijn hoofd kwijt - tevergeefs...
Dus eindelijk op de Linux-server heb ik geen problemen om verbinding te maken met de externe Oracle-server. Ergens (tijdens het surfen over duizenden PHP-Oracle-gerelateerde pagina's) heb ik informatie gevonden dat "men geen PHP-applicatie moet ontwikkelen die verbinding maakt met de Oracle-server onder Windows" en in plaats daarvan bij het UNIX-systeem moet blijven...
Dus iedereen soortgelijke of dezelfde problemen ondervindt - wees zo aardig en verspil geen tijd, installeer een VirtualBox, voer Linux erop uit en ga verder!