Điểm:0

Trình điều khiển Oracle db cho kết nối php - Ubuntu 20.04

lá cờ bd

Vì vậy, tôi đã hỏi câu hỏi này vài ngày trước nhưng chủ đề đã bị đóng vì tôi đang chạy trên Ubuntu 16.04. Bây giờ tôi đã cập nhật lên Ubuntu 20.04.3 LTS.

Tôi có một trang php trên apache và kết nối db oracble của tôi:

$conn=odbc_connect("tên máy chủ","người dùng","mật khẩu");

cho tôi lỗi này:

AH01071: Gặp lỗi 'Thông báo PHP: Cảnh báo PHP: odbc_connect(): Lỗi SQL: [unixODBC][Trình quản lý Trình điều khiển]Không tìm thấy tên nguồn dữ liệu và không có trình điều khiển mặc định nào được chỉ định, trạng thái SQL IM002 trong SQLConnect

Tôi hiểu rằng tôi cần cài đặt trình điều khiển để nó hoạt động, nhưng tôi không chắc là trình điều khiển nào?
Là một cơ sở dữ liệu tiên tri trên một vị trí khác, bắt buộc phải cài đặt java (jdk) trên máy của tôi?

lá cờ in
Có phải [liên kết tôi đã đăng](https://askubuntu.com/questions/1358771/oracle-db-driver-for-php-connection-ubuntu-16-php7-4#comment2327376_1358771) không đủ?
Điểm:0
lá cờ cn

Ngôn ngữ lập trình của bạn rõ ràng là PHP, vì vậy nó không liên quan gì đến Java, JDK, JDBC hay bất kỳ ngôn ngữ nào khác.

Tôi sẽ tóm tắt hai nguồn, bởi vì IMHO chúng đủ tốt để không cần phải sao chép mọi thứ ở đây.

Đối với PHP, cách dễ nhất là sử dụng Oracle Instant Client và PHP Database Object (PDO).

Tóm tắt từ Ubunt Wiki:

Cài đặt các gói sau, có sẵn các gói RPM trên trang web của Oracle:

oracle-instantclient-basiclite
oracle-instantclient-devel
Oracle-instantclient-sqlplus

Tiếp theo, cài đặt PHP OCI8: Xem đây, bắt đầu từ bước 7. Tóm lại: Lệnh cốt lõi được ban hành là cài đặt nó qua PHP PECL:

pecl cài đặt oci8 # PHP 8
pecl cài đặt oci8-2.2.0 # PHP 7.x

Cuối cùng nhưng không kém phần quan trọng, đảm bảo rằng php.ini (tùy thuộc vào việc bạn đang sử dụng PHP-CLI hay PHP-FPM, nó có thể /etc/php/PHIÊN BẢN/php-cli hoặc /etc/php/PHIÊN BẢN/php-fpm, ở đâu PHIÊN BẢN có thể là một cái gì đó giống như 7.4 hoặc 8.0) tải trình điều khiển OCI:

tiện ích mở rộng = oci8
tiện ích mở rộng = pdo_oci

Đó nên là tất cả mọi thứ. Nếu có bất kỳ rắc rối nào khác, vui lòng tham khảo Ubuntu Wiki mà tôi đã liên kết ở trên. Đối với tôi, các bước này là đủ.

$dbconn = PDO mới('oci:dbname=MY_CONNENCTION', 'tên người dùng', 'pa55w0rd');

SỰ KẾT NỐI CỦA TÔI có thể là tên như được cung cấp trong tệp tnsnames.org, hoặc toàn bộ chuỗi kết nối dài được cung cấp ở phía bên tay phải của equals (=) đăng nhập vào tập tin tnsnames.ora, thường bắt đầu bằng (MÔ TẢ = hoặc (DESCRIPTION_LIST=.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.