Rediger: Hmm. At prøve dette på Windows 8 ser ud til at generere den samme fejl, som du har angivet. Jeg er i øjeblikket ved at undersøge...
Min fejl (jeg havde aktiveret den forkerte extension_dir
linje). Det virker i Win8 ligesom det er dokumenteret nedenfor.
Følgende trin burde være alt, hvad du behøver for at få OCI til at arbejde med PHP (jeg har lige bekræftet dette på en nyinstalleret Windows 2008 R2 Standard x64 virtuel maskine):
- Download og udpak PHP (jeg brugte
C:\php
fraphp-5.6.7-nts-Win32-VC11-x86.zip
). - Download og udpak InstantClient (jeg brugte
C:\instantclient_12_1
frainstantclient-basic-nt-12.1.0.2.0.zip
). - Tilføj ovenstående stier til systemstien.
- Kopiér
c:\php\php.ini-production
tilc:\php\php.ini
. - i
php.ini
:- aktiveret linje
extension_dir = "ext"
. - aktiveret linje
extension=php_oci8_12c.dll
.
- aktiveret linje
- Installer Microsoft Visual C++ 2010 Runtime (x86). Dette er nødvendigt for OCI8-udvidelsen.
- Installer Microsoft Visual C++ 2012 Runtime (x86). Dette er nødvendigt for PHP.
På dette tidspunkt kører php --ri oci8
i en kommandoprompt viser mig følgende output:
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
Og tjekker efter oci_connect
funktion:
C:\>php -r "var_dump(function_exists('oci_connect'));"
bool(true)