Oracle
 sql >> Base de données >  >> RDS >> Oracle

Appel à la fonction non définie oci_connect, php_oci8_12c.dll, windows 8.1, php5.6.6

Modifier : Hmm. Essayer ceci sur Windows 8 semble générer la même erreur que celle que vous avez spécifiée. J'enquête actuellement...

Mon erreur (j'avais activé le mauvais extension_dir doubler). Cela fonctionne dans Win8 comme documenté ci-dessous.

Les étapes suivantes devraient être tout ce dont vous avez besoin pour faire fonctionner OCI avec PHP (je viens de le vérifier sur une machine virtuelle Windows 2008 R2 Standard x64 fraîchement installée) :

  • Télécharger et extraire PHP (j'ai utilisé C:\php depuis php-5.6.7-nts-Win32-VC11-x86.zip ).
  • Téléchargez et extrayez InstantClient (j'ai utilisé C:\instantclient_12_1 depuis instantclient-basic-nt-12.1.0.2.0.zip ).
  • Ajoutez les chemins ci-dessus au chemin système.
  • Copier c:\php\php.ini-production vers c:\php\php.ini .
  • dans php.ini :
    • ligne activée extension_dir = "ext" .
    • ligne activée extension=php_oci8_12c.dll .
  • Installez Microsoft Visual C++ 2010 Runtime (x86). Ceci est nécessaire pour l'extension OCI8.
  • Installez Microsoft Visual C++ 2012 Runtime (x86). Ceci est nécessaire pour PHP.

À ce stade, exécutez php --ri oci8 dans une invite de commande me montre la sortie suivante :

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

Et vérifier le oci_connect fonction :

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