Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Nie można załadować biblioteki dynamicznej 'C:\xampp\php\ext\php_oci8.dll' — %1 nie jest prawidłową aplikacją Win32

Twój błąd wskazuje na niezgodność typu wbudowanego.

Rozwiąż go, wykonując następujące kroki:

Upewnij się, że pobierasz i instalujesz Oracle klient błyskawiczny pod adresem:http://www.oracle.com/technetwork/topics/winsoft -085727.html , ale uwaga:

  1. Zanotuj swoją Oracle wersja bazy danych; użyj wersji 12.1.x dla bazy danych Oracle 12c i Wersja 11.1.x za 11g wydania.
  2. W obu przypadkach upewnij się, że pobierasz Basic Lite wersja natychmiastowego klienta Oracle.

Następnie dodaj lokalizację natychmiastowego klienta Oracle do zmiennej systemowej Path w obszarze Zmienne środowiskowe. Równie dobrze upewnij się, że masz oba PHP swojego xampp i jego ex dostępne i tam również ustawione (jeśli nie, dodaj je).

Następnie przejdź do dodania nowej zmiennej systemowej z TNS_ADMIN jako nazwa zmiennej i lokalizacja do natychmiastowego klienta Oracle jako wartość zmiennej .

Zdefiniuj także zmienne użytkownika PATH z tą samą lokalizacją do natychmiastowego klienta Oracle jako wartość .

Po tym etapie uruchom ponownie komputer, aby uzyskać pełną propagację nowo zdefiniowanych zmiennych środowiskowych.

Po włączeniu możesz otworzyć Wiersz poleceń systemu Windows i uruchom gdzie oci* aby upewnić się, że zmienne środowiskowe zostały dobrze zdefiniowane; odpowiedź powinna wyglądać tak:

C:\Users\flex>where oci*

C:\oraclexe\app\oracle\product\11.2.0\server\bin\oci.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.sym
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ociw32.dll
C:\instantclient_11_2\oci.dll
C:\instantclient_11_2\oci.sym
C:\instantclient_11_2\ocijdbc11.dll
C:\instantclient_11_2\ocijdbc11.sym
C:\instantclient_11_2\ociw32.dll
C:\instantclient_11_2\ociw32.sym

Jeśli nie, musiałeś coś przeoczyć i musisz ponownie przejść do procesu, zapewniając skuteczne jego ukończenie.

Możesz teraz przejść do pliku php.ini (pod warunkiem, że zmienne środowiskowe są dobrze zdefiniowane) i włączyć oci rozszerzenia (php_oci8.dll i php_oci8_11g.dll) poprzez ich odkomentowanie; możesz to osiągnąć, po prostu usuwając półkolumnę (; ) przed wspomnianymi rozszerzeniami.

Pamiętaj, aby zapisać plik php.ini, a następnie zrestartować lub uruchomić Apache, jeśli jeszcze nie jest uruchomiony.

Aby sprawdzić, czy konfiguracja PHP oci8 jest włączona, możesz wrócić do wiersza poleceń systemu Windows i uruchomić:php --ri oci8; odpowiedź powinna być podobna do poniższej:

C:\Users\flex>php --ri oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.1.1
Revision => $Id: 86f22a208f89dcd5b305e82929a7429683968b11 $
Oracle Run-time Client Library Version => 11.2.0.4.0
Oracle Compile-time Instant Client Version => 10.2

Directive => Local Value => Master Value
oci8.max_persistent => -1 => -1
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
oci8.default_prefetch => 100 => 100
oci8.old_oci_close_semantics => Off => Off
oci8.events => Off => Off

Statistics =>
Active Persistent Connections => 0
Active Connections => 0

Alternatywnie możesz utworzyć plik PHP za pomocą jako treść, a następnie otwórz go w przeglądarce i wyszukaj wystąpienia oci8; tam również powinno być włączone.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć WŁAŚCICIELA obiektu w Oracle?

  2. JdbcTemplate — wstaw lub zaktualizuj Oracle BLOB za pomocą SQL MERGE

  3. Powiązane z Oracle DataAccess:Wywoływany element członkowski nie jest obsługiwany w zestawie dynamicznym.

  4. Uruchom wiele instrukcji sql, używając tylko wykonaj w TOAD

  5. dodaj rekord w nlog do pola z dataType =date