2011-12-26 57 views
7

Tôi có dòng tiếp theo không chú thích (trong php.ini của tôi):Fatal error: Call to undefined function oci_connect()

extension=php_oracle.dll 
extension=php_oci8.dll 

Và tôi đã tải về tập tin này instantclient-basiclite-nt-11.2.0.2.0.zip và giải nén và đặt trên ổ đĩa D .. .

tôi đang sử dụng Windows XP

tôi đặt biến môi trường như thế này:

LD_LIBRARY_PATH  C:\instantclient_11_2:$LD_LIBRARY_PATH 
ORACLE_HOME  C:\instantclient_11_2 

Nhưng khi tôi thực hiện oci_connect() chức năng, tôi thấy lỗi này:

Fatal error: Call to undefined function oci_connect() in ...

và tôi tìm thấy những cảnh báo này trong hồ sơ erroeLog:

[29-Dec-2011 00:36:39] PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oci8.dll' - The specified module could not be found. in Unknown on line 0

[29-Dec-2011 00:36:39] PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oracle.dll' - The specified module could not be found.

+0

Thông báo nào thực hiện phiên bản CLI hoặc đầu ra Apache? Ngoài ra những gì các tập tin đăng nhập hoặc thingy đăng nhập hệ thống nói gì? – mario

+0

Điều này sẽ giúp cho lỗi trên !! [Link] (http://stackoverflow.com/a/39770392/3973543) – Batman

Trả lời

2

Bạn khởi động lại apache sau khi đưa file php_oci8.dll trong thư mục php/ext của bạn?

+0

tôi sử dụng IIS, nhưng tôi khởi động lại quá !!!!! – afsane

+0

Và bạn có đặt DLL trong thư mục bên phải không? –

+0

có tất nhiên !!! – afsane

4

Những điều cần kiểm tra:

  • Bạn không cần phải thiết lập LD_LIBRARY_PATH cũng không ORACLE_HOME. Tuy nhiên, bạn cần thêm D:\instantclient_11_2 vào biến môi trường PATH và khởi động lại máy tính để các thay đổi được áp dụng.

  • Trước khi định cấu hình PHP, hãy kiểm tra xem thư viện máy khách Oracle của bạn có thực sự hoạt động không (ví dụ: thử kết nối với Nhà phát triển SQL).

  • Nhận xét ra extension=php_oracle.dll. Nó thuộc về phần mở rộng cũ và không được chấp nhận của Oracle.

  • Kiểm tra kỹ xem tệp php_oci8.dll có thực sự ở số c:\php\ext\php_oci8.dll không?

+1

Tôi đã thực hiện tất cả các lời khuyên của bạn nhưng .... :( – afsane

+0

@afsane - Sau đó, nó hiển nhiên: nó không hoạt động độc lập, nó không thể hoạt động dưới PHP. –

+0

Điều này phù hợp với tôi. – siniradam

0

Chỉ cần thêm dòng này vào tệp php.in trỏ đến vị trí của tiện ích, nên biết vị trí của chúng, nhưng thường trong thư mục php.

extension_dir = C:\xampp\php\ext ; điều này là dành cho tôi sử dụng xampp, hãy khôn ngoan.

Nó làm việc cho tôi. Vấn đề là truy cập vào các phần mở rộng và không có gì để làm với các thư viện oracle.

Các vấn đề liên quan