ส่วนขยาย OCI8 ไม่โหลดใน PHP 5.4, CentOS 7


3

ฉันมีสภาพแวดล้อม CentOS ที่ทำงานในฐานะแขกของ VM มันทำงานและฐานข้อมูล Oracle 12.1 พร้อมกับ PHP 5.4.16 บน Apache 2.0

ฉันได้ทำตามขั้นตอนการติดตั้งเพื่อให้แน่ใจว่ามีการติดตั้งไดรเวอร์ OCI ที่ถูกต้อง ผมใช้รุ่น 2.0.10 ตามคำสั่งที่นี่: นี่ >>$ORACLE_HOMEและชี้ไปทางที่ถูกต้อง

ตามที่คุณเห็นจากphpinfo()หน้าจอส่วนขยาย oci จะโหลดจากไดเรกทอรีส่วนขยาย:

สารสกัด phpinfo ()

อย่างไรก็ตามไม่มีรายการ OCI8 ที่สอดคล้องกันในส่วนที่เหลือของphpinfo()หน้า (ตามที่อธิบายไว้ที่นี่ >> )

เนื้อหาของ/etc/php.d/oci8.iniเป็นดังนี้:

; Created by me: 2016-02-08
extension=oci8.so

ไดเรกทอรีส่วนขยายของฉันคือ:

PHP ส่วนขยาย dir

และไฟล์ในไดเรกทอรีนี้ดูเหมือนจะถูกต้องเกี่ยวกับสิทธิ์และบริบทของ SELinux (ตามที่คุณเห็นที่นี่):

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันโหลดindex.phpไฟล์ของฉันในเบราว์เซอร์ดูเหมือนว่าการโหลดส่วนใหญ่จะประสบความสำเร็จยกเว้นว่าการอ้างอิงใด ๆ กับรหัส OCI (ตัวแปรค่าคงที่ฟังก์ชั่น) มีข้อผิดพลาด (ความหมายแน่นอนว่าส่วนขยายไม่ได้ลงทะเบียนภายใน PHP):

loading index.php ในเบราว์เซอร์

ใครบ้างมีความคิดเกี่ยวกับสิ่งที่ฉันควรทำเพื่อลงทะเบียนส่วนขยาย OCI8 ภายใน PHP อย่างถูกต้องหรือไม่

=== แก้ไข / แก้ไข? ===

ฉันปิด SELinux ( ดูวิธีการนี้ ) และทันใดนั้น OCI ก็ดูเหมือนจะทำงานได้ มันไม่ได้เป็นโซลูชั่นที่สมบูรณ์แบบไม่ว่าด้วยวิธีใดเนื่องจากจะทำให้ระบบปฏิบัติการทั้งหมดมีความเสี่ยงมากขึ้น แต่มันจะทำเพื่อความต้องการของฉันในขณะนี้

ในทางกลับกันถ้าใครรู้วิธีเปิดใช้งาน SELinux และให้มันทำงานกับ OCI8 ความคิดเห็นของคุณจะได้รับการชื่นชมมาก!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.