Page 1 sur 1
PHP5.2.0 et ... php_oci8 (encore)
Posté : 27 déc. 2006, 12:00
par starkeus
Bonjour à tous,
Alors ce message fait plus office de bouteille jetée à la mer car j'ai parcouru bon nombre de posts et autres forums sans réponses franchement convaincantes...
Voilà je focntionne dépuis pas mal de tmeps avec easyphp1.8 avec php 5.0.4 et l'extension php_oci8 activée. Tout fonctionne!
MAIS je souhaite monter en version sur php...alors je me suis dit wampserver (la dernière version 1.6.6) et là ...c'est le drame: l'extension php_oci8 ne fonctionne pas avec cette erreur ô combien perspicace...
"Unable to load dynamic library ‘D:\PHP\extensions/php_oci8.dll’ – The specified procedure could not be found."
Je vérifie la config etc.. pas de problèmes...
Quelqu'un aurait-il déjà essayer cette extension dans une version récente de php???
Posté : 27 déc. 2006, 12:08
par Ajoloca
Bonjour,
Dans un premier temps, je regarderais la façon d'écrire le chemin (soit des \ ou bien des /).
Je sais pas ce que ça donne avec mélange comme dans ton cas
‘D:\PHP\extensions/php_oci8.dll’
J'essayerais en mettant la librairie dans 'C:\windows\system32" ou bien "C:\windows\system" sans oublier de redémarrer le serveur WEB une fois la modif effectuée.
Posté : 27 déc. 2006, 15:56
par titerm
La librairie oci8_dll doit etre dans le rep ext de php.
Il faut aussi avoir installer une couche client oracle. Depuis la 5.1, il me semble qu'il faut au minimum un client 9. J'ai perso fait une install récemment avec l'instantclient oracle 10.
http://www.oracle.com/technology/tech/o ... lient.html
pas de pb particulier. Il faut juste rebooter ton PC car le path system est mis a jour vers les binaires oracle, or il n'est lu qu'au boot contrairement au path utilisateur.
Posté : 27 déc. 2006, 16:03
par Ajoloca
Re,
Le client Oracle, n'est pas obligatoirement nécessaire.
Tout dépend de l'interface utilisée, TNS_NAMES, et autres obligatoires avec certaines versions ne le sont plus.
De plus, si on utilise PDO plus rien n'est nécessaire sauf d'installer (enlever le ; dans php.ini - Windows) pour pdo_oci.
Posté : 27 déc. 2006, 16:41
par starkeus
Merci les gens mais pour répondre à certains...
> titerm : tu parles de la lib php_oci8 ? si oui elle est évidemment dans le répertoire ext de php (elle l'est même par défaut). Si tu parles d'OCI.DLL, elle n'était pas nécessaire dans ma 5.0.4 et mon client oracle est un client 9...
>Ajoloca : j'utilise une version d'adoDB qui nécessite php_oci8... et je n'ai pas d'autre choix.
Posté : 27 déc. 2006, 17:46
par titerm
le oci8.dll de ton client est probablement trop vieux. Il me semble que j'ai du installer le client 10 car j'avais déjà le 8 et le 9 pour d'autre appli.
Il faut bien avoir ton PATH sur le bin du client 10 (l'instant client est vraiment épuré, vraiment peu de chose.) et avoir rebooter. Dans la vieille version de l'oci8, il manque une fonction et c ca qui me posait problème.
Depuis le client 8, tout se passe via la registry, pas desoin de set oracle_home ou autre. Juste le path.
Posté : 28 déc. 2006, 14:19
par starkeus
Bon après avoir récupéré l'instantclient 10 d'Oracle, mis à jour le PATH en conséquence et modifier une clé de mon registre (NLS_LANG), ça fonctionne !
Merci à vous pour votre soutien

Posté : 28 déc. 2006, 14:23
par Cyrano
[Résolu] 