2008-09-17 3 views
9

Làm cách nào để kết nối với một cá thể cơ sở dữ liệu Oracle từ xa từ PHP?Kết nối với Oracle bằng cách sử dụng PHP

Tôi cần truy vấn (chỉ đọc) cơ sở dữ liệu Oracle từ xa để biết một số thông tin; sao tôi cần cài đặt Oracle Instant Client?

Tiện ích mở rộng OCI cho PHP có đủ không?

Trả lời

7

Từ PHP Manual

  • Bạn sẽ cần các thư viện client Oracle sử dụng phần mở rộng này.

  • Cách thuận tiện nhất để cài đặt tất cả các file cần thiết là sử dụng Oracle Instant Khách hàng, trong đó có sẵn từ Oracle's site

1

Tôi thấy điều này trong "Ghi chú" của PHP documentation:

Nếu bạn đang sử dụng PHP với Oracle tức thì Client, bạn có thể sử dụng dễ dàng kết nối với phương pháp đặt tên (...)

Vì vậy, tôi nghĩ rõ ràng là bạn có thể kết nối với một Oracle DB mà không có Oracle Instant Client, chỉ sử dụng phần mở rộng PHP Oracle.

2

có một vài bước bạn cần phải thực hiện để thực hiện công việc này.

Trước tiên, bạn cần cài đặt trình điều khiển oracle cho bất kỳ hệ điều hành nào bạn có. Sau đó, tạo DSN cho odbc để sử dụng để kết nối cuộc gọi hàm php với cơ sở dữ liệu oracle. Trên cửa sổ, bạn có thể tìm thấy điều này trên Control Panel -> ODBC Nguồn

Một khi bạn đã làm điều này, khởi động lại DB, máy chủ web và sau đó bạn sẽ có thể kiểm tra nó tất cả với điều này:

odbc_connect($dsn,$user,$pass);

Nếu bạn có Linux, các bước tương tự là cần thiết nhưng tôi không chắc chắn cách bạn tạo DSN trong Unix.

+0

Điều này cũng sẽ hoạt động, sự khác biệt chỉ là tôi sẽ kết nối qua DSN thay vì sử dụng phần mở rộng của PHP của PHP. Cảm ơn bạn! –

1

Nếu bạn đang cố gắng để kết nối với oracle trên ubuntu với PHP, sau đây liên kết đã được hơn hữu ích:

A) http://pecl.php.net/bugs/bug.php?id=9253

đó là thực Workhorse một - nó mang lại cho bạn chỉ là về tất cả các dữ liệu bạn cần.

B) http://fabrizioballiano.net/2008/01/26/how-to-install-php-pdo_oci-on-ubuntu-gutsy/

này cũng rất hữu ích để biết chi tiết về những điều mà cần phải được cài đặt cho oracle để làm việc với ubuntu.

Nếu bạn đang sử dụng nó với PHP, bạn cần đảm bảo rằng biến môi trường TNS_ADMIN và ORACLE_HOME có sẵn cho người dùng của apache - có tệp có tên 'envvars' trong thư mục apache2 nơi bạn có thể đặt. (Để dễ sử dụng, tôi có hai điểm vào cùng một thư mục.)

+0

Liên kết thứ hai dường như không hoạt động. :) – Michael

+0

Dường như nó hoạt động tốt cho tôi? –

4

Hướng dẫn sử dụng PHP tốt nhất với Oracle là Underground PHP Oracle Manual. Cập nhật định kỳ.Ví dụ, bản cập nhật cuối cùng mô tả các tính năng mới của OCI (Giao diện cuộc gọi Oracle). Tôi tìm thấy nó một cách tình cờ và kể từ đó chưa bao giờ hối hận. Bắt đầu từ hướng dẫn sử dụng tốt đó.

+1

URL không còn hoạt động nữa, đây là URL mới: http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html – mark