PHP Avertissement au démarrage en essayant de charger php_oci8.dll
Je suis en utilisant XAMPP et d'essayer de configurer la connexion à Oracle sql.
J'ai décommenté la ligne extension=php_oci8.dll
et au premier abord, cela s'est terminé avec une erreur (que oci.dll est manquant), mais plus tard, j'ai téléchargé instantclient à partir d'Oracle pages web. J'ai essayé avec les versions 10.2, 11.2, et 12,1 mais ni travaillé. Évidemment, j'ai ajouté le chemin d'accès à ces bibliothèques à mon PATH
env variable.
L'avertissement que je suis arriver au démarrage d'Apache est: PHP Warning: PHP Startup: in Unknown on line 0
Le message d'erreur quand j'essaie de connecter est: PHP Fatal error: Call to undefined function oci_connect() in ...
J'ai essayé avec php_oci8.dll
et php_oci8_11g.dll
. Ces fichiers sont dans mon php/ext
répertoire (ils ont été inclus dans xampp), mon instantclient est ajouté à PATH
et l'avertissement ne s'affiche pas si je désactive les modules. J'ai essayé de redémarrer les services et l'ordinateur.
Pouvez-vous m'aider à trouver une solution sur la manière de configurer correctement? Je suis sous Windows 8.1 avec des privilèges administratifs.
BTW. Mon phpinfo()
dit que OCI8 est activé (mais les fonctions comme oci_connect
ne fonctionnent toujours pas).
EDIT: Quand j'ai essayé de courir PHP manuellement, j'ai enfin eu l'erreur d'affichage de ce qui n'allait pas: Unable to load dynamic library 'C:\Program Files (x86)\PHP\ext\php_oci8_11g.dll' - %1 is not a valid Win32 application. in Unknown on line 0
Pouvez-vous m'aider à savoir où puis-je télécharger une version correcte?
Je n'ai pas installer Oracle sur mon PC. Je suis à l'aide d'une connexion VPN pour se connecter au serveur. J'ai téléchargé sqldeveloper et cela a fonctionné (il n'a pas à installer quoi que ce soit tout de même)
OriginalL'auteur Kelu Thatsall | 2013-12-29
Vous devez vous connecter pour publier un commentaire.
Il y avait un problème avec la version 64 bits de instantclient. Si jamais vous avez le même problème, s'il vous plaît installer la version 32 bits de instantclient.
Pour être honnête, le plus simple est juste de suivre les instructions ADÉQUATES: http://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html
J'ai essayé beaucoup d'autres conseils et ils allèrent tous vraiment mauvais sur moi (et pas seulement parce que j'ai utilisé différents bits version - aussi, j'ai copié les fichiers partout suivantes stupide conseils, et il était difficile de le corriger)
OriginalL'auteur Kelu Thatsall
Sa parce que votre Oracle est de 64 bits. L'enlever et installer une version 32 bits du client Oracle et il va fonctionner.
OriginalL'auteur Umesh Patil
Il ressemble à votre extension ne sont pas installés correctement. Essayez de le mettre à jour ou réinstaller avec pecl avec
Vous devriez également vérifier extension_dir directive en php.ini et de vérifier si le dossier de PHP est ajouté au chemin d'accès
pecl upgrade oci8 downloading oci8-2.0.6.tgz ... Starting to download oci8-2.0.6.tgz (189,668 bytes) .........................................done: 189,668 bytes 11 source files, building WARNING: php_bin E:\xampp\php\php.exe appears to have a suffix \php.exe, but con fig variable php_suffix does not match ERROR: The DSP oci8.dsp does not exist.
Aussi mon
extension_dir
est correctement réglé et mon php/ext dir est ajouté à laPATH
. J'ai ajouté PHP dir CHEMIN aussi.OriginalL'auteur Xavier
Il y a une autre façon de résoudre ce problème: Installer le plein Oracle Client, pas le basic zip, vous pouvez l'obtenir à oracle site (environ 1 go):
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-windows-3633015.html
Im à l'aide de Windows 10, Apache 2.4, PHP 7.1 (tous x64) et cela fonctionne. Aussi essayé de PHP 5.6 et il travaille trop. Toujours utiliser l'php_oci8_11g.dll à partir de la base client zip pour correspondre à votre php et la version du système.
Vous pouvez rechercher dans le site pour trouver les anciennes versions de client (11g, 32bits, etc), mais je travaille avec de 12c client et l'accès à un Oracle 11g enterprise server.
J'ai trouvé beaucoup de occurrencies de ce même message d'erreur tout autour, mais aucun ne m'a donné cette solution. L'espoir qui aide.
OriginalL'auteur Ughini