Saya memiliki baris-baris berikutnya yang tidak dikosongkan (di php.ini saya):
extension=php_oracle.dll
extension=php_oci8.dll
Dan saya mengunduh file ini instantclient-basiclite-nt-11.2.0.2.0.0.zip
dan membuka ritsletingnya dan menaruhnya di drive D...
Saya menggunakan Windows XP
Saya mengatur variabel lingkungan seperti ini:
LD_LIBRARY_PATH C:\instantclient_11_2:$LD_LIBRARY_PATH
ORACLE_HOME C:\instantclient_11_2
Tetapi ketika saya menjalankan fungsi oci_connect()
, saya melihat kesalahan ini:
Kesalahan fatal: Panggilan ke fungsi yang tidak terdefinisi oci_connect() di ...
dan saya menemukan peringatan ini pada file erroeLog:
[29-Dec-2011 00:36:39] Peringatan PHP: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oci8.dll' - Modul yang ditentukan tidak dapat ditemukan. di Unknown pada baris 0
[29-Dec-2011 00:36:39] PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_oracle.dll' - Modul yang ditentukan tidak dapat ditemukan.
Hal-hal yang perlu diperiksa:
Anda tidak perlu mengatur LD_LIBRARY_PATH
atau ORACLE_HOME
. Namun, Anda perlu menambahkan D:\instantclient_11_2
ke variabel lingkungan PATH
dan restart komputer sehingga perubahan berlaku.
Sebelum mengkonfigurasi PHP, periksa apakah library klien Oracle Anda benar-benar berfungsi (misalnya, cobalah untuk terhubung dengan SQL Developer).
Beri komentar di luar extension=php_oracle.dll
. Itu milik ekstensi Oracle yang lama dan sudah tidak digunakan lagi.
Periksa kembali apakah file php_oci8.dll
benar-benar ada di c:\php\ext\php_oci8.dll
?
Cukup tambahkan baris ini ke file php.in yang menunjuk ke lokasi ekstensi, harus tahu di mana mereka berada, tetapi biasanya di folder php.
extension_dir = C:\xampp\php\ext ;
ini untuk saya yang menggunakan xampp, bijaklah.
Ini bekerja untuk saya. Masalahnya adalah dengan mengakses ekstensi dan tidak ada hubungannya dengan pustaka oracle.