Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Aufruf der undefinierten Funktion oci_connect, php_oci8_12c.dll, Windows 8.1, php5.6.6

Bearbeiten: Hm. Wenn Sie dies unter Windows 8 versuchen, wird anscheinend derselbe Fehler generiert, den Sie angegeben haben. Ich untersuche gerade...

Mein Fehler (ich hatte das falsche extension_dir aktiviert Linie). Es funktioniert in Win8 genauso wie unten dokumentiert.

Die folgenden Schritte sollten alles sein, was Sie brauchen, um OCI mit PHP zum Laufen zu bringen (ich habe dies gerade auf einer frisch installierten virtuellen Windows 2008 R2 Standard x64-Maschine überprüft):

  • Laden Sie PHP herunter und extrahieren Sie es (ich habe C:\php verwendet aus php-5.6.7-nts-Win32-VC11-x86.zip ).
  • InstantClient herunterladen und extrahieren (ich habe C:\instantclient_12_1 verwendet aus instantclient-basic-nt-12.1.0.2.0.zip ).
  • Fügen Sie die obigen Pfade zum Systempfad hinzu.
  • Kopieren Sie c:\php\php.ini-production nach c:\php\php.ini .
  • in php.ini :
    • aktivierte Zeile extension_dir = "ext" .
    • aktivierte Zeile extension=php_oci8_12c.dll .
  • Installieren Sie Microsoft Visual C++ 2010 Runtime (x86). Dies wird für die OCI8-Erweiterung benötigt.
  • Installieren Sie Microsoft Visual C++ 2012 Runtime (x86). Dies wird für PHP benötigt.

An dieser Stelle wird php --ri oci8 ausgeführt in einer Eingabeaufforderung zeigt mir die folgende Ausgabe:

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

Und nach oci_connect suchen Funktion:

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