Score:0

ไดรเวอร์ oracle db สำหรับการเชื่อมต่อ php - ubuntu 20.04

ธง bd

ดังนั้นฉันจึงถามคำถามนี้เมื่อสองสามวันก่อน แต่หัวข้อถูกปิดเพราะฉันใช้ Ubuntu 16.04 ตอนนี้ฉันได้อัปเดตเป็น Ubuntu 20.04.3 LTS แล้ว

ฉันมีหน้า php บน apache และการเชื่อมต่อ oracble db ของฉัน:

$conn=odbc_connect("ชื่อโฮสต์","ผู้ใช้","รหัสผ่าน");

ทำให้ฉันมีข้อผิดพลาดนี้:

AH01071: มีข้อผิดพลาด 'ข้อความ PHP: คำเตือน PHP: odbc_connect(): ข้อผิดพลาด SQL: [unixODBC][Driver Manager] ไม่พบชื่อแหล่งข้อมูล และไม่ได้ระบุไดรเวอร์เริ่มต้น สถานะ SQL IM002 ใน SQLConnect

ฉันเข้าใจว่าฉันต้องติดตั้งไดรเวอร์เพื่อให้ใช้งานได้ แต่ฉันไม่แน่ใจว่าไดรเวอร์ใด
ในฐานะที่เป็นฐานข้อมูล Oracle ในตำแหน่งที่ตั้งอื่น จำเป็นต้องติดตั้ง java (jdk) ในเครื่องของฉันหรือไม่

in flag
[ลิงก์ที่ฉันโพสต์](https://askubuntu.com/questions/1358771/oracle-db-driver-for-php-connection-ubuntu-16-php7-4#comment2327376_1358771) ไม่เพียงพอหรือไม่
Score:0
ธง cn

เห็นได้ชัดว่าภาษาการเขียนโปรแกรมของคุณคือ PHP ดังนั้นจึงไม่มีส่วนเกี่ยวข้องกับ Java, JDK, JDBC หรืออะไรก็ตาม

ฉันจะสรุปแหล่งข้อมูลสองแห่งเพราะ IMHO นั้นดีพอที่จะไม่จำเป็นต้องทำซ้ำทุกอย่างที่นี่

สำหรับ PHP วิธีที่ง่ายที่สุดคือการใช้ Oracle Instant Client และ PHP Database Object (PDO)

สรุปจาก อูบุนตูวิกิ:

ติดตั้งแพ็คเกจต่อไปนี้ ซึ่งมีให้ใช้งานในแพ็คเกจ RPM บนเว็บไซต์ของ Oracle:

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

ถัดไป ติดตั้ง PHP OCI8: ดู ที่นี่เริ่มจากขั้นตอนที่ 7 สรุป: คำสั่งหลักที่จะออกคือการติดตั้งผ่าน PHP PECL:

pecl ติดตั้ง oci8 # PHP 8
เฉพาะติดตั้ง oci8-2.2.0 # PHP 7.x

สุดท้ายแต่ไม่ท้ายสุด ตรวจสอบให้แน่ใจว่า php.ini (ขึ้นอยู่กับว่าคุณกำลังใช้ PHP-CLI หรือ PHP-FPM อยู่หรือไม่ /etc/php/VERSION/php-cli หรือ /etc/php/VERSION/php-fpm, ที่ไหน เวอร์ชัน อาจเป็นสิ่งที่ต้องการ 7.4 หรือ 8.0) โหลดไดรเวอร์ OCI:

นามสกุล=oci8
ส่วนขยาย = pdo_oci

นั่นควรเป็นทุกอย่าง หากมีปัญหาอื่น ๆ โปรดดู Ubuntu Wiki ที่ฉันลิงก์ไว้ด้านบน สำหรับฉัน ขั้นตอนเหล่านี้เพียงพอแล้ว

$dbconn = new PDO('oci:dbname=MY_CONNENCTION', 'ชื่อผู้ใช้', 'pa55w0rd');

MY_CONNECTION เป็นได้ทั้งชื่อตามที่ระบุในไฟล์ tnsnames.orgหรือสตริงการเชื่อมต่อแบบยาวทั้งหมดซึ่งมีให้ทางด้านขวาของเท่ากับ (=) ลงชื่อในไฟล์ tnsnames.oraมักจะขึ้นต้นด้วย (รายละเอียด= หรือ (DESCRIPTION_LIST=.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา