Làm cách nào để định cấu hình OCI8 trong PHP?

saeid

Làm theo

Ngày 10 tháng 8 năm 2008

·

2 phút đọc

Cài đặt Oracle Instant Client và mô-đun PHP OCI8

Nếu bạn muốn kết nối với cơ sở dữ liệu Oracle bằng PHP, bạn có thể sử dụng Ứng dụng khách tức thì của Oracle và mô-đun oci8 từ lê

Tải xuống các gói Cơ bản và SDK từ Oracle. com. Tại thời điểm viết bài này, tên tệp là instantclient-basic. zip và Instantclient-sdk. khóa kéo

Giải nén các tệp này trong một thư mục mới, e. g. /opt/oracle/instantclient

Mã số
[bash]
sudo su
mkdir -p /opt/oracle/instantclient
cd /opt/oracle/instantclient
giải nén instantclient-basic. khóa kéo
giải nén instantclient-sdk. khóa kéo
tiếng vang /opt/oracle/instantclient >> /etc/ld. vì thế. conf
ldconfig
[/bash]

Hai dòng trước được cho là tạo liên kết tượng trưng có tên libclntsh. như vậy và libocci. vì vậy chúng ta sẽ cần sau này. Trong trường hợp của tôi, các liên kết tượng trưng này không được tạo bởi ldconfig, vì vậy tôi đã tạo chúng theo cách thủ công

Mã số
[bash]
ln -s libclntsh. vì thế. 11. 1 libclntsh. vì thế
ln -s thư viện. vì thế. 11. 1 thư viện. vì thế
[/bash]

Trong bước tiếp theo, chúng tôi sẽ tải xuống mô-đun oci8 với lê. Lê nằm trong gói php-lê

Mã số
[bash]
apt-get cài đặt php-lê
[/bash]

Ngoài ra, bạn cần các gói php5-dev và build-essential để biên dịch mô-đun oci8

Mã số
[bash]
apt-get cài đặt php-lê php5-dev build-essential
[/bash]

“Thông thường” bây giờ chúng ta có thể sử dụng pecl install oci8, nhưng có vẻ như lê không thể tìm ra vị trí của các thư viện instantclient. Vì vậy, chúng tôi sẽ chỉ tải xuống mô-đun oci8 và tự xây dựng nó

Mã số
[bash]
mkdir -p /usr/local/src
cd /usr/cục bộ/src
pecl tải về oci8
tar xzf oci8–1. 3. 4. tgz
cd oci8–1. 3. 4
phpize
/configure — with-oci8=shared,instantclient,/opt/oracle/instantclient
chế tạo
thực hiện cài đặt
[/bash]

oci8–1. 3. 4. tên tệp tgz tất nhiên sẽ thay đổi cho các bản phát hành mới hơn

Để kích hoạt mô-đun oci8 trong php. ini [/etc/php5/apache2/php. ini và /etc/php5/cli/php. ini], thêm một dòng
Mã số
[chữ]
tiện ích mở rộng = oci8. vì thế
[/chữ]

[đặt dòng này sau các ví dụ bắt đầu bằng ; phần mở rộng]

Bây giờ dừng lại và khởi động Apache. Bạn sẽ thấy mô-đun oci8 ở đầu ra của phpinfo[]

Chúc may mắn

CA IT Asset Manager CA Software Asset Manager [CA SAM] ASSET PORTFOLIO MGMT- SERVER CA Quản lý dịch vụ - Quản lý danh mục tài sản Quản lý dịch vụ CA - Service Desk Manager

Hiển thị thêm Hiển thị ít hơn

Để trình kết nối CA SAM giao tiếp với cơ sở dữ liệu Oracle, php cần được định cấu hình để sử dụng tiện ích mở rộng OCI8. Tài liệu này sẽ giúp làm việc này vì có một số chỗ có thể sai và không đưa ra bất kỳ lỗi nào tiết lộ vấn đề là gì

Để định cấu hình php sử dụng tiện ích mở rộng OCI8, bạn cần đảm bảo đáp ứng một số điều kiện

1] Tiện ích mở rộng OCI8 cần có khả năng định vị các tệp DLL chính xác để nó chạy. Điều này có nghĩa là Oracle Instant Client thích hợp đã được cài đặt và thư mục cài đặt cho Oracle Instant Client có trong biến PATH

Trước hết, trong cửa sổ nhắc lệnh, thay đổi thư mục làm việc thành thư mục CA SAM php. Bây giờ, hãy chạy lệnh "php -i". Điều này sẽ cung cấp cho bạn thông tin về cấu hình php hiện tại. Ở trên cùng, nó sẽ trông như thế này

thông tin php[]
Phiên bản PHP => 7. 0. 25

Hệ thống => Windows NT6. 3 bản dựng 9600 [Phiên bản tiêu chuẩn Windows Server 2012 R2] i586
Ngày xây dựng => 24 tháng 10 năm 2017 13. 50. 48
Trình biên dịch => MSVC14 [Visual C++ 2015]
Kiến trúc => x86

Bạn cần tải xuống ứng dụng khách Oracle Instant phù hợp với phiên bản cơ sở dữ liệu Oracle mà bạn đang sử dụng [chúng tôi sẽ sử dụng Oracle 12c trong ví dụ này] và cũng phù hợp với kiến ​​trúc của phiên bản php đã cài đặt. Điều này có nghĩa là trong trường hợp này, chúng ta cần tải xuống phiên bản 32 bit của Oracle Instant Client cho Oracle 12c. Sau khi tải về, cái này được giải nén vào một thư mục, C. \instantclient_12_2

Bây giờ, sửa đổi biến PATH và thêm C. Thư mục \instantclient_12_2 ở đầu biến PATH. Đặt nó ở đầu sẽ đảm bảo rằng các DLL OCI8 chính xác sẽ được tìm thấy khi php gọi phần mở rộng OCI8, trong trường hợp có các DLL khác có thể gây ra sự cố, hiện diện trên hệ thống

2] Tiện ích mở rộng cần được bật trong php. tập tin ini

chỉnh sửa php. ini và xác định vị trí dòng này

;phần mở rộng=php_oci8_12c. dll  ;

Gỡ bỏ ;

3] DLL tiện ích mở rộng có sẵn ở vị trí php "extension_dir"

trong php. ini, có một lệnh "extension_dir". Điều này sẽ trỏ đến thư mục "\sam\env\php\ext". Kiểm tra thư mục này để xác minh rằng tệp php_oci8_12c. tập tin dll có mặt

Bây giờ tất cả các công việc cần thiết đã được thực hiện, chúng tôi cần kiểm tra xem tiện ích mở rộng OCI8 có được đăng ký chính xác với php hay không và nó có hoạt động không

1] Trong cửa sổ nhắc lệnh, thay đổi thư mục làm việc thành thư mục CA SAM php
2] Chạy lệnh "php -m" [không có dấu ngoặc kép]

Điều này bây giờ sẽ cung cấp cho bạn thông tin về các tiện ích mở rộng php đã đăng ký hiện tại. Danh sách này nên bao gồm phần mở rộng OCI8

[Mô-đun PHP]
bcmath
lịch
Cốt lõi
ctype
ngày
nhà thờ
lọc

băm
iconv
json
ldap
libxml
chuỗi mb
mcrypt
mysqlnd
oci8
opensl
pcre
PDO
phar
Sự phản xạ
phiên họp
SimpleXML
NguồnGuardian
SPL
sqlsrv
Tiêu chuẩn
mã thông báo
wddx
xml
trình đọc xml
xmlwriter
khóa kéo
zlib

[Mô-đun Zend]

Nếu danh sách này không bao gồm tiện ích mở rộng OCI8 và tất cả các bước trước đó đã được thực hiện chính xác, điều này có nghĩa là đã xảy ra sự cố khi chạy tiện ích mở rộng OCI8. Để kiểm tra điều này, hãy chạy lệnh "php -i". Nếu có bất kỳ sự cố nào khi chạy tiện ích mở rộng, nó sẽ tạo ra một cửa sổ bật lên với lý do lỗi. Vấn đề phổ biến nhất là sự cố với tệp DLL bắt buộc, như thế này

"Chương trình không thể bắt đầu vì MSVCR120. dll bị thiếu trong máy tính của bạn. Hãy thử cài đặt lại chương trình để khắc phục sự cố này. "

Trong trường hợp này, hệ thống cần tải xuống và cài đặt "Gói có thể phân phối lại Visual C++ cho Visual Studio 2013". Khi điều này được thực hiện, khi lệnh "php -i" được chạy, không có lỗi bật lên nào và đầu ra bao gồm thông tin OCI8

Làm cách nào để bật OCI8 trong PHP Windows?

1 câu trả lời .
Tải xuống instantclient và đặt "C. \instantclient_11_2"
Đặt biến môi trường cho C. \instantclient_11_2
Kiểm tra phiên bản php của bạn tôi. e. Phiên bản PHP 5. 6. 15
Bỏ bình luận "extension=php_oci8_11g. dll" trong php. ini và khởi động lại apache
kiểm tra php_info[], nên bật oci8. Đó là tất cả

Làm cách nào để bật OCI8 trong PHP Linux?

Để cài đặt tiện ích mở rộng OCI8, chúng tôi cần cài đặt một số gói bổ sung trên máy chủ của mình. .
Chạy các lệnh này. cài đặt apt php-dev php-lê build-essential libaio1
Sau khi cài đặt, chúng ta cần lấy tệp OCI8. .
Chúng ta cần yêu cầu PHP tải tiện ích mở rộng OCI8. .
Làm mới máy chủ. .
Khởi động lại PHP-FPM

Làm cách nào để cài đặt OCI cho PHP?

Cài đặt Oracle OCI8 PHP .
Bước 1. Tải xuống các gói Oracle Instant Client Basic AND SDK. .
Bước 2. Cài đặt gói Oracle Instant Client Basic và SDK. .
Bước 3. Tải xuống Tiện ích mở rộng OCI8 từ PECL. .
Bước 4. Xây dựng Mô-đun PHP OCI8. .
Bước 5. Cài đặt Mô-đun PHP OCI8. .
Bước 6. Khởi động lại Apache để tải các thay đổi mới

Làm cách nào để sử dụng Oci_connect trong PHP?

Sử dụng PHP OCI8 với Cơ sở dữ liệu Oracle 11g .
Xem lại mã trong $HOME/public_html/connect. php
Hàm oci_connect[] chứa tên người dùng, mật khẩu và chuỗi kết nối. Trong trường hợp này, cú pháp chuỗi kết nối Easy Connect của Oracle được sử dụng. .
Hàm oci_close[] đóng kết nối

Chủ Đề