web-dev-qa-db-fra.com

Erreur fatale: appel de la fonction non définie oci_connect ()

J'ai les prochaines lignes non commentées (dans mon php.ini):

extension=php_Oracle.dll 
extension=php_oci8.dll

Et j'ai téléchargé ce fichier instantclient-basiclite-nt-11.2.0.2.0.Zip et décompressé et mis cela sur le lecteur D ...

J'utilise Windows XP

Je mets la variable d'environnement comme ceci:

LD_LIBRARY_PATH     C:\instantclient_11_2:$LD_LIBRARY_PATH 
Oracle_HOME     C:\instantclient_11_2 

Mais quand j'exécute la fonction oci_connect(), je vois cette erreur:

Erreur fatale: appel de la fonction non définie oci_connect () dans ...

et j'ai trouvé cet avertissement sur le fichier erroeLog:

[29-Dec-2011 00:36:39] PHP Avertissement: PHP Démarrage: impossible de charger la bibliothèque dynamique 'c:\php\ext\php_oci8.dll' - Le fichier spécifié module introuvable. dans Inconnu à la ligne 0

[29-Dec-2011 00:36:39] PHP Avertissement: PHP Démarrage: impossible de charger la bibliothèque dynamique 'c:\php\ext\php_Oracle.dll' - La spécifiée module n'a pas pu être trouvé.

7
afsane

Choses à vérifier:

  • Vous n'avez pas besoin de définir LD_LIBRARY_PATH ni Oracle_HOME. Cependant, vous devez ajouter D:\instantclient_11_2 à la variable d'environnement PATH et redémarrer l'ordinateur pour que les modifications s'appliquent. 

  • Avant de configurer PHP, vérifiez que vos bibliothèques clientes Oracle fonctionnent réellement (par exemple, essayez de vous connecter à SQL Developer).

  • Mettez en commentaire le extension=php_Oracle.dll. Il appartient à l'ancienne et obsolète extension Oracle.

  • Vérifiez que le fichier php_oci8.dll est bien à c:\php\ext\php_oci8.dll?

4
Álvaro González

Avez-vous redémarré Apache après avoir placé le fichier php_oci8.dll dans votre répertoire php/ext?

2
Tom van der Woerdt

Il suffit d’ajouter cette ligne au fichier php.in qui pointe vers l’emplacement des extensions, devrait savoir où elles se trouvent, mais normalement dans le dossier php.

extension_dir = C:\xampp\php\ext ;Ce est pour moi en utilisant xampp, soyez sage.

Cela a fonctionné pour moi. Le problème concerne l'accès aux extensions et n'a rien à voir avec les bibliothèques Oracle.

0
user3269964