En raison de plusieurs erreurs de configuration et de 3 jours perdus à chercher une solution, j'ai déménagé pour développer sur un serveur Linux et tous les problèmes ont disparu.
Ce que j'ai trouvé :
- les deux
php_oci8.dll
etphp_oci8_11g.dll
dépendent des bibliothèques Oracle Instant Client- ces bibliothèques ne contiennent pas
oci_
fonctions (commeoci_connect
), uniquementociX
fonctions (commeociLogon
) ce qui est étrange...
- ces bibliothèques ne contiennent pas
- bien que je sois à peu près sûr d'avoir téléchargé Oracle Instant Client Basic et toutes les extensions, je n'ai pas pu me connecter à un autre serveur Oracle en raison d'un jeu de caractères inconnu et l'erreur disait que j'utilisais uniquement Lite client instantané...
- J'ai essayé en vain les versions 64 bit et 32 bit du client instantané
- mon Apache est en 64 bits, Windows en 64 bits, PHP en 32 bits, le serveur Oracle distant en 64 bits, le serveur Linux distant en 64 bits...
- essayé de nombreux paramètres d'environnement (
ORA_HOME
,TNS_ADMIN
,PATH
ajusté se tourner vers l'installation instantanée du client) en vain - tenté de désinstaller le serveur Oracle XE local en raison d'interférences possibles avec les paramètres d'environnement, mais en vain
- j'ai presque perdu la tête - en vain...
Donc, finalement, sur le serveur Linux, je n'ai aucun problème pour me connecter au serveur Oracle distant. Quelque part (en surfant sur des milliers de pages liées à PHP-Oracle), j'ai trouvé une information selon laquelle "il ne faut pas développer d'application PHP se connectant au serveur Oracle sous Windows" et doit plutôt s'en tenir au système UNIX...
Alors n'importe qui rencontrez des problèmes similaires ou identiques - soyez si gentil et ne perdez pas votre temps, installez une VirtualBox, exécutez Linux dessus et avancez !