संपादित करें: <स्ट्राइक>हम्म। विंडोज 8 पर यह कोशिश करने से वही त्रुटि उत्पन्न होती है जैसा आपने निर्दिष्ट किया था। मैं अभी जांच कर रहा हूं...स्ट्राइक>
मेरी गलती (मैंने गलत extension_dir
enabled को सक्षम किया था रेखा)। यह Win8 में ठीक वैसे ही काम करता है जैसा कि नीचे दिया गया है।
ओसीआई को PHP के साथ काम करने के लिए आपको निम्नलिखित चरणों की आवश्यकता होनी चाहिए (मैंने इसे हाल ही में स्थापित विंडोज 2008 आर 2 मानक x64 वर्चुअल मशीन पर सत्यापित किया है):
- PHP को डाउनलोड और एक्सट्रेक्ट करें (मैंने
C:\php
. का इस्तेमाल किया हैphp-5.6.7-nts-Win32-VC11-x86.zip
. से )। - इंस्टेंट क्लाइंट को डाउनलोड करें और निकालें (मैंने
C:\instantclient_12_1
. का इस्तेमाल किया हैinstantclient-basic-nt-12.1.0.2.0.zip
. से )। - उपरोक्त पथ को सिस्टम पथ में जोड़ें।
- कॉपी करें
c:\php\php.ini-production
करने के लिएc:\php\php.ini
। php.ini
में :- सक्षम लाइन
extension_dir = "ext"
। - सक्षम लाइन
extension=php_oci8_12c.dll
।
- सक्षम लाइन
- Microsoft Visual C++ 2010 रनटाइम (x86) स्थापित करें। OCI8 एक्सटेंशन के लिए यह आवश्यक है।
- Microsoft Visual C++ 2012 रनटाइम (x86) स्थापित करें। यह PHP के लिए आवश्यक है।
इस समय php --ri oci8
चल रहा है कमांड प्रॉम्प्ट में मुझे निम्न आउटपुट दिखाता है:
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
और oci_connect
के लिए जाँच कर रहा है समारोह:
C:\>php -r "var_dump(function_exists('oci_connect'));"
bool(true)