Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Tidak dapat memuat pustaka dinamis 'C:\xampp\php\ext\php_oci8.dll' - %1 bukan aplikasi Win32 yang valid

Kesalahan Anda menunjukkan ketidakcocokan tipe bawaan.

Selesaikan dengan mengikuti langkah-langkah berikut:

Pastikan Anda mengunduh dan menginstal oracle instantclient di:http://www.Oracle.com/technetwork/topics/winsoft -085727.html , tetapi perhatikan:

  1. Catat Oracle your Anda versi basis data; gunakan Versi 12.1.x untuk database Oracle 12c dan Versi 11.1.x untuk 11g rilis.
  2. Dalam kedua kasus tersebut, pastikan Anda mengunduh Basic Lite versi klien instan Oracle.

Setelah itu, tambahkan lokasi klien instan Oracle Anda ke Jalur variabel Sistem Anda di bawah Variabel Lingkungan Anda. Pastikan juga Anda memiliki kedua PHP xampp . Anda dan eks tersedia dan atur di sana juga (jika tidak, tambahkan).

Kemudian, lanjutkan untuk menambahkan variabel Sistem baru dengan TNS_ADMIN sebagai nama variabel dan lokasi ke Oracle instantclient sebagai nilai variabel .

Juga, tentukan variabel Pengguna Anda PATH dengan lokasi yang sama dengan Oracle instantclient sebagai nilai .

Setelah tahap ini, restart komputer Anda untuk propagasi penuh dari variabel lingkungan yang baru ditentukan.

Setelah aktif, Anda dapat membuka Windows Command Prompt dan jalankan where oci* untuk memastikan bahwa Anda memiliki variabel lingkungan yang terdefinisi dengan baik; tanggapannya akan terlihat seperti ini:

C:\Users\flex>where oci*

C:\oraclexe\app\oracle\product\11.2.0\server\bin\oci.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.dll
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ocijdbc11.sym
C:\oraclexe\app\oracle\product\11.2.0\server\bin\ociw32.dll
C:\instantclient_11_2\oci.dll
C:\instantclient_11_2\oci.sym
C:\instantclient_11_2\ocijdbc11.dll
C:\instantclient_11_2\ocijdbc11.sym
C:\instantclient_11_2\ociw32.dll
C:\instantclient_11_2\ociw32.sym

Jika tidak, Anda pasti melewatkan sesuatu dan perlu meninjau kembali prosesnya, memastikan untuk menyelesaikannya secara efektif.

Anda sekarang dapat melanjutkan ke file php.ini Anda (variabel lingkungan yang disediakan didefinisikan dengan baik) dan mengaktifkan oci Anda ekstensi (php_oci8.dll dan php_oci8_11g.dll) dengan membatalkan komentar; Anda dapat mencapainya hanya dengan menghapus kolom semi (; ) sebelum ekstensi tersebut.

Jangan lupa untuk menyimpan file php.ini Anda, kemudian restart atau jalankan apache Anda jika belum berjalan.

Untuk memeriksa konfigurasi PHP oci8 Anda diaktifkan, Anda dapat kembali ke Command Prompt Windows dan menjalankan:php --ri oci8; tanggapannya harus mirip dengan yang di bawah ini:

C:\Users\flex>php --ri oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.1.1
Revision => $Id: 86f22a208f89dcd5b305e82929a7429683968b11 $
Oracle Run-time Client Library Version => 11.2.0.4.0
Oracle Compile-time Instant Client Version => 10.2

Directive => Local Value => Master Value
oci8.max_persistent => -1 => -1
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
oci8.default_prefetch => 100 => 100
oci8.old_oci_close_semantics => Off => Off
oci8.events => Off => Off

Statistics =>
Active Persistent Connections => 0
Active Connections => 0

Atau, Anda dapat membuat file PHP dengan <?php phpinfo(); ?> sebagai konten, lalu buka di browser Anda dan cari kemunculan oci8; itu harus menunjukkan diaktifkan di sana juga.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optimalisasi saat menggabungkan dari datalink Oracle

  2. Nonaktifkan CAST AS untuk mengoptimalkan kueri di Entity Framework

  3. Mengapa kueri SELECT tidak memulai transaksi? [Peramal]

  4. cara menggabungkan dua nilai berbeda dari satu tabel satu pelanggan menjadi satu baris

  5. Pisahkan fungsi di oracle ke nilai yang dipisahkan koma dengan urutan otomatis