Chỉnh sửa: Hừm. Thử điều này trên Windows 8 dường như tạo ra lỗi giống như bạn đã chỉ định. Tôi hiện đang điều tra ...
Lỗi của tôi (Tôi đã bật sai extension_dir
đường kẻ). Nó hoạt động trong Win8 giống như tài liệu bên dưới.
Các bước sau đây là tất cả những gì bạn cần để OCI hoạt động với PHP (Tôi vừa xác minh điều này trên máy ảo Windows 2008 R2 Standard x64 mới được cài đặt):
- Tải xuống và giải nén PHP (Tôi đã sử dụng
C:\php
từphp-5.6.7-nts-Win32-VC11-x86.zip
). - Tải xuống và giải nén InstantClient (Tôi đã sử dụng
C:\instantclient_12_1
từinstantclient-basic-nt-12.1.0.2.0.zip
). - Thêm các đường dẫn trên vào đường dẫn hệ thống.
- Sao chép
c:\php\php.ini-production
tớic:\php\php.ini
. - trong
php.ini
:- dòng đã bật
extension_dir = "ext"
. - dòng đã bật
extension=php_oci8_12c.dll
.
- dòng đã bật
- Cài đặt Microsoft Visual C ++ 2010 Runtime (x86). Điều này là cần thiết cho phần mở rộng OCI8.
- Cài đặt Microsoft Visual C ++ 2012 Runtime (x86). Điều này là cần thiết cho PHP.
Tại thời điểm này, chạy php --ri oci8
trong dấu nhắc lệnh hiển thị cho tôi kết quả sau:
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
Và kiểm tra oci_connect
chức năng:
C:\>php -r "var_dump(function_exists('oci_connect'));"
bool(true)