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:\php
depuisphp-5.6.7-nts-Win32-VC11-x86.zip
). - Téléchargez et extrayez InstantClient (j'ai utilisé
C:\instantclient_12_1
depuisinstantclient-basic-nt-12.1.0.2.0.zip
). - Ajoutez les chemins ci-dessus au chemin système.
- Copier
c:\php\php.ini-production
versc:\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)