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

Wywołanie niezdefiniowanej funkcji oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

Edytuj: Hmm. Wypróbowanie tego w systemie Windows 8 wydaje się generować ten sam błąd, który określiłeś. Obecnie badam...

Mój błąd (włączyłem niewłaściwy extension_dir linia). Działa w Win8 tak, jak opisano poniżej.

Poniższe kroki powinny wystarczyć, aby OCI pracowało z PHP (właśnie zweryfikowałem to na świeżo zainstalowanej maszynie wirtualnej Windows 2008 R2 Standard x64):

  • Pobierz i rozpakuj PHP (użyłem C:\php z php-5.6.7-nts-Win32-VC11-x86.zip ).
  • Pobierz i rozpakuj InstantClient (użyłem C:\instantclient_12_1 z instantclient-basic-nt-12.1.0.2.0.zip ).
  • Dodaj powyższe ścieżki do ścieżki systemowej.
  • Skopiuj c:\php\php.ini-production do c:\php\php.ini .
  • w php.ini :
    • włączona linia extension_dir = "ext" .
    • włączona linia extension=php_oci8_12c.dll .
  • Zainstaluj środowisko wykonawcze Microsoft Visual C++ 2010 (x86). Jest to potrzebne dla rozszerzenia OCI8.
  • Zainstaluj środowisko wykonawcze Microsoft Visual C++ 2012 (x86). Jest to potrzebne dla PHP.

W tym momencie uruchamiam php --ri oci8 w wierszu poleceń pokazuje mi następujące dane wyjściowe:

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

I sprawdzanie oci_connect funkcja:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, jakiego symbolu waluty używa Twoja sesja w Oracle

  2. Lepsza współbieżność w Oracle niż SQL Server?

  3. Oracle SQL:Użyj sekwencji we wstawce z instrukcją Select

  4. Procesy w tle

  5. Instrukcja INSERT SELECT w Oracle 11G