Page 1 of 3

จะใช้ PHP ติดต่อ Oracle แต่ติดปัญหา

Posted: 27/02/2008 5:07 pm
by hyde4fun
คือผมได้ติดตั้ง WMServer Tools 3.3 ก็ใช้งานปกติได้แล้ว Oracle DB ก็มีอยู่แล้ว

จุดประสงค์ เพื่อจะดึง ฐานข้อมูลจาก Oracle มาแสดงบน Web แบบ Real Time และให้ User พิม Search หาข้อมูลที่ต้องการได้ โดยผมจะลองกับ php

(ถ้ามีวิธีไหน ง่ายกว่าหรือเหมาะสมกว่าก็แนะนำทีนะครับ)

ที่ติดคือ ผมไปอ่านวิธีติดต่อ oracle ต้องเปิด

extension=php_oci8.dll
extension=php_oracle.dll

ก็ทำการเปิดแล้ว แต่ทีนี้ใน folder extension ไม่มี .dll สองไฟล์นี้ ผมเลยไปโหลดจากเวปนอกแล้วเอามาลง
ก็ยังใช้ไม่ได้อยู่

อ่านในเวปเค้าบอกว่าให้

http://www.exzilla.net/docs/php-oci8/apache-php-oci8-01.php

First choice, you need to put the correct verion of oci.dll (8.1.7) in your currrent PATH environment.

Second choice, you can copy the correct version of oci.dll from $ORACLE_HOME/bin/oci.dll (8.1.7) in to APACHE Home.

I use the second choice because I don't need to change path environment that can take effect to other program that use different oci.dll version.

ลองทำตามแล้วก็ไม่ได้ หรือวางไว้ผิดที่ก็ไม่แน่ใจ ติดปัญหาตรงเปิดให้มันใช้งานไม่ได้นี่แหละครับ เรื่อง code ติดต่อไม่มีปัญหา

ใครรู้ว่าต้องทำยังไง หรือมีวิธีติดต่ออื่นนอกจากนี้ รบกวนช่วยทีครับ

Posted: 28/02/2008 12:16 am
by mindphp
ลองเปลี่ยน มาใช้ ตัวนี้ครับ
https://www.mindphp.com/modules.php?name ... cle&sid=15
ไม่ต้อง ทำอะไรเพิ่ม สามารถติดต่อกับ MSSQL,Mysql,Oracle ได้เลย

Posted: 29/02/2008 6:39 pm
by hyde4fun
เปลี่ยนมาใช้แล้วครับ มันไม่สามารถติดต่อ ได้เหมือนเดิมเลยอะครับ คือผมลองติดต่อนิดหน่อย

และลองเชคคร่าวๆ ดูจาก extension oci ก็ไม่มี เลยลองไปเปิดก็ยังใช้ไม่ได้

ท่าน mind ได้ลองทดสอบกับ oracle ดูแล้วรึยังครับ

แต่ก็ขอบคุณมากครับ

Posted: 29/02/2008 7:22 pm
by mindphp
ถามแปลก ลองแล้วหรือยัง ถ้ายังไม่ลองแล้วจะแนะนำได้หรือครับ
ส่วน .dll มันก็มีอยู่ แล้วครับ
(ถ้าติดตั้งที่ D:) จะอยู่ใน
D:\xampp\php\ext
มีทั้ง
php_pdo_oci8.dll
php_pdo_oci.dll
php_oci8.dll
ให้เลือกใช้
ไฟล์ php.ini จะอยู่ที่
D:\xampp\apache\bin

Posted: 29/02/2008 11:55 pm
by hyde4fun
หลังจากที่คิดว่าทำผิด ผมจึง install ใหม่ทั้งหมด

จากนั้น check ที่ phpinfo หา extension oci ไม่เจอ (ผมเข้าใจว่าผมยังไม่ได้เปิดเพราะ ลงเสร็จแล้ว run apache + mysql เลย)

ผมจึงทำการเปิด extension ที่ว่า

จาก C:\xampp\apache\bin\php.ini

;extension=php_oracle.dll
;extension=php_oci8.dll

เป็น

extension=php_oracle.dll
extension=php_oci8.dll

หลังจาก save และ restart apache ใหม่

ผมพบ error สองตัวขึ้นมา

Image
ตัวแรกที่เด้งขึ้นมา

Image
ตัวที่สองที่เด้งขึ้นมา

และผมก็ลองไป check ที่ phpinfo อีกตามเคย

ก็เหมือนเดิมครับ ไม่มี extension oci ทำงานอยู่

ผมต้องแก้ไขยังไงดีครับ หรือใช้แนวทางอื่นในการ query ข้อมูลจาก oracle ผ่านเวป

ทางอื่นดี ขอโทษที่รบกวนเยอะนะครับ

Posted: 29/02/2008 11:58 pm
by mindphp
เช็ค .dll ไฟล์ ทั้งหมด ที่เกี่ยวข้อง
ถ้าไม่ได้ ติดตั้ง oracle ใหม่
หรือ ติดตั้ง oracle client เพิ่มลงไป

Posted: 01/03/2008 12:23 am
by hyde4fun
ผมลืมบอกไปอย่าง คือ oracle น่ะครับ server อยู่ที่ 192.168.1.7 ติดตั้งไว้อยู่แล้ว

แต่เครื่องที่ผมทดลอง คือ 192.168.1.18 ทดสอบการ connect oracle ผ่านโปรแกรมพวก ERP แล้ว

ใช้งานได้ปกติ

ถ้าใช้โปรแกรมปกติเช่น sql+ ก็ติดต่อได้ปกตินะครับ

สรุปได้ว่า php ของผมยังเปิด function oci ไม่ได้ใช่รึเปล่าครับ

Posted: 01/03/2008 7:11 am
by mindphp
ผม ไม่รู้ ว่า คุณอ่านที่ผม แนะนำหรือเปล่าครับ (ถ้าไม่สนใจแล้วจะถามทำไมเนี่ย)