Modifier :
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:\phpdepuisphp-5.6.7-nts-Win32-VC11-x86.zip). - Téléchargez et extrayez InstantClient (j'ai utilisé
C:\instantclient_12_1depuisinstantclient-basic-nt-12.1.0.2.0.zip). - Ajoutez les chemins ci-dessus au chemin système.
- Copier
c:\php\php.ini-productionversc:\php\php.ini. - dans
php.ini:- ligne activée
extension_dir = "ext". - ligne activée
extension=php_oci8_12c.dll.
- ligne activée
- 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)