sql >> Database teknologi >  >> RDS >> Oracle

Kald til udefineret funktion oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

Rediger: Hmm. At prøve dette på Windows 8 ser ud til at generere den samme fejl, som du har angivet. Jeg er i øjeblikket ved at undersøge...

Min fejl (jeg havde aktiveret den forkerte extension_dir linje). Det virker i Win8 ligesom det er dokumenteret nedenfor.

Følgende trin burde være alt, hvad du behøver for at få OCI til at arbejde med PHP (jeg har lige bekræftet dette på en nyinstalleret Windows 2008 R2 Standard x64 virtuel maskine):

  • Download og udpak PHP (jeg brugte C:\php fra php-5.6.7-nts-Win32-VC11-x86.zip ).
  • Download og udpak InstantClient (jeg brugte C:\instantclient_12_1 fra instantclient-basic-nt-12.1.0.2.0.zip ).
  • Tilføj ovenstående stier til systemstien.
  • Kopiér c:\php\php.ini-production til c:\php\php.ini .
  • i php.ini :
    • aktiveret linje extension_dir = "ext" .
    • aktiveret linje extension=php_oci8_12c.dll .
  • Installer Microsoft Visual C++ 2010 Runtime (x86). Dette er nødvendigt for OCI8-udvidelsen.
  • Installer Microsoft Visual C++ 2012 Runtime (x86). Dette er nødvendigt for PHP.

På dette tidspunkt kører php --ri oci8 i en kommandoprompt viser mig følgende output:

C:\>php --ri oci8

oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.0.9
Revision => $Id: f5a3ee1083d1ffa6adb5143efda6eafa210b8414 $
Oracle Run-time Client Library Version => 12.1.0.2.0
Oracle Compile-time Instant Client Version => 12.1

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.connection_class => no value => no value
oci8.events => Off => Off

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

Og tjekker efter oci_connect funktion:

C:\>php -r "var_dump(function_exists('oci_connect'));"
bool(true)


  1. Hvad skal du kigge efter, hvis din MySQL-replikering halter

  2. oracle 11g og integration af hibernate spring og jsf

  3. Hvordan reparerer man en serialiseret streng, der er blevet beskadiget af en forkert bytetællingslængde?

  4. Konverter fra Oracles RAW(16) til .NET's GUID