sql >> Databáze >  >> RDS >> Oracle

Nelze načíst dynamickou knihovnu 'C:\xampp\php\ext\php_oci8.dll' - %1 není platná aplikace Win32

Vaše chyba ukazuje neshodu vestavěného typu.

Vyřešte to podle následujících kroků:

Ujistěte se, že jste si stáhli a nainstalovali oracle instantclient na:http://www.oracle.com/technetwork/topics/winsoft -085727.html , ale poznámka:

  1. Poznamenejte si svůj Oracle verze databáze; použijte verze 12.1.x pro databázi Oracle 12c a verze 11.1.x pro 11 g vydání.
  2. V obou případech se ujistěte, že jste si stáhli Basic Lite verze Oracle instantclient.

Poté přidejte umístění vašeho okamžitého klienta Oracle do cesty systémové proměnné v části Proměnné prostředí. Stejně tak se ujistěte, že máte oba PHP vašeho xampp a jeho externí k dispozici a také tam nastavit (pokud ne, přidejte je).

Poté pokračujte přidáním nové systémové proměnné pomocí TNS_ADMIN jako název proměnné a umístění okamžitého klienta Oracle jako proměnnou hodnotu .

Definujte také své uživatelské proměnné PATH se stejným místem pro okamžitého klienta Oracle jako hodnotu .

Po této fázi restartujte počítač pro plné šíření nově definovaných proměnných prostředí.

Po zapnutí můžete otevřít Příkazový řádek systému Windows a spustit kde oci* abyste se ujistili, že máte proměnné prostředí dobře definované; odpověď by měla vypadat takto:

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

Pokud ne, museli jste něco vynechat a musíte se vrátit k procesu a zajistit jeho efektivní dokončení.

Nyní můžete přejít ke svému souboru php.ini (za předpokladu, že proměnné prostředí jsou dobře definovány) a povolit oci rozšíření (php_oci8.dll a php_oci8_11g.dll) jejich odkomentováním; toho můžete dosáhnout jednoduchým odstraněním polosloupce (; ) před zmíněnými rozšířeními.

Nezapomeňte uložit soubor php.ini a poté restartujte nebo spusťte apache, pokud již není spuštěn.

Chcete-li zkontrolovat, zda jsou vaše konfigurace PHP oci8 povoleny, můžete se vrátit do příkazového řádku systému Windows a spustit:php --ri oci8; odpověď by měla být podobná následující:

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

Případně můžete vytvořit soubor PHP pomocí <?php phpinfo(); ?> jako obsah, poté jej otevřete ve svém prohlížeči a vyhledejte výskyty oci8; tam by se také mělo zobrazit povoleno.



  1. Jak získat záznam ve smyčce while

  2. skript vyhledávače php

  3. Formátování časového razítka SQL pomocí PHP

  4. Několik nápadů o nízkoúrovňovém sdružování zdrojů v PostgreSQL