Z powodu kilku błędnych konfiguracji i 3 dni straconych na szukanie rozwiązania, przeniosłem się do programowania na serwerze Linux i wszystkie problemy zniknęły.
Co znalazłem:
- zarówno
php_oci8.dll
iphp_oci8_11g.dll
zależą od bibliotek Oracle Instant Client- te biblioteki nie zawierają
oci_
funkcje (takie jakoci_connect
), tylkoociX
funkcje (takie jakociLogon
), co jest dziwne...
- te biblioteki nie zawierają
- chociaż jestem prawie pewien, że pobrałem Oracle Instant Client Basic i wszystkich rozszerzeń, nie mogłem połączyć się z innym serwerem Oracle z powodu nieznanego zestawu znaków, a błąd mówił, że używam tylko Lite natychmiastowy klient...
- Próbowałem zarówno 64-bitowej, jak i 32-bitowej wersji klienta natychmiastowego bezskutecznie
- mój Apache jest 64-bitowy, Windows jest 64-bitowy, PHP jest 32-bitowy, zdalny serwer Oracle jest 64-bitowy, zdalny serwer Linux jest 64-bitowy...
- próbował wiele ustawień środowiska (
ORA_HOME
,TNS_ADMIN
, dostosowanoPATH
spojrzeć na natychmiastową instalację klienta) bezskutecznie - próbowałem odinstalować lokalny serwer Oracle XE z powodu możliwej ingerencji w ustawienia środowiska bezskutecznie
- prawie straciłem głowę - bezskutecznie...
Więc w końcu na serwerze Linux nie mam problemów z połączeniem się ze zdalnym serwerem Oracle. Gdzieś (podczas przeglądania tysięcy stron związanych z PHP-Oracle) znalazłem informację, że "nie należy tworzyć aplikacji PHP łączącej się z serwerem Oracle pod Windows" i zamiast tego należy trzymać się systemu UNIX...
Więc każdy doświadczasz podobnych lub tych samych problemów - bądź tak miły i nie trać czasu, zainstaluj VirtualBox, uruchom na nim Linuksa i idź dalej!