Problème d'installation extension php sqlanywhere - variable LD_LIBRARY_PATH non détectée par l'extension

Petit nouveau ! | 2 Messages

24 sept. 2015, 16:20

Bonjour,

J'essaie d'installer l'extension php Sqlanywhere afin de connecter un site web à une base sybase distante.
Je bloque sur la déclaration de la variable d'environnement LD_LIBRARY_PATH qui n'est pas détectée par l'extension (message d'erreur phpinfo : The SQLAnywhere client libraries could not be loaded. Please ensure that libdbcapi.so can be found in your LD_LIBRARY_PATH environment variable.).

Pourtant la variable est bien détectée par php, dans le pavé php variables : SERVER["LD_LIBRARY_PATH"] /opt/sqlanywhere16/lib64 mais elle n'apparaît pas dans le pavé "Environment".

J'ai essayé de passer par la méthode ldconfig, de modifier le bashrc, profile, php.ini, je ne sais plus quel fichier modifier :evil:

Le serveur est sous debian 6 avec virtualmin / webmin. Merci du coup de main.

ViPHP
ViPHP | 5924 Messages

01 oct. 2015, 23:04

Bonjour,

Utiliser la variable d'environnement LD_LIBRARY_PATH est (presque toujours) une mauvaise idée. Cela dénote très fréquemment un système mal configuré ou mal administré. Normalement, si la librairie est correctement installée, il suffit de spécifier son chemin dans la configuration ld :
/etc/ld.so.conf ou /etc/ld.so.conf.d/<file>.conf

Puis de recharger la configuration :
ldconfig

Tu indiques avoir essayé la "méthode ldconfig", je suppose donc que tu as déjà tenté. As-tu bien fait les deux étapes ?

Par ailleurs, d'autres facteurs peuvent jouer comme :
* L'architecture de la librairie (x86 32 ou x86 64 par exemple)
* Les liens symboliques de la librairie (généralement utilisés lors de l'installation de la librairie)

Cordialement

Petit nouveau ! | 2 Messages

02 oct. 2015, 16:27

Bonjour,

Merci pour ta réponse, j'ai en effet essayé de spécifier le chemin de la variable dans /etc/ld.so.conf.d/sqlanywhere.conf mais lorsque j'applique les modifications en lançant ldconfig, cela me plante apache...
Cela est certainement du aux différents essais que j'ai fait et que j'aurais oublié de nettoyer.
Je refais une install propre du coup histoire de voir si j'ai fait une boulette.
Merci pour le coup de main.

ViPHP
ViPHP | 5924 Messages

04 oct. 2015, 22:37

Bonjour,

Merci pour ta réponse, j'ai en effet essayé de spécifier le chemin de la variable dans /etc/ld.so.conf.d/sqlanywhere.conf mais lorsque j'applique les modifications en lançant ldconfig, cela me plante apache...
Cela est certainement du aux différents essais que j'ai fait et que j'aurais oublié de nettoyer.
Je refais une install propre du coup histoire de voir si j'ai fait une boulette.
Merci pour le coup de main.
Ça te plante apache avec ou sans erreur ?
Je te conseille de regarder les logs.

Apache qui plante dans cette situation la première chose à laquelle je pense c'est que la librairie est correctement chargée et qu'une incompatibilité fait planter php (qui fait planter apache si php est exécuté en module apache).
Je te suggère d'essayer d'exécuter php en cli (il faut installer le paquet qui va bien) pour valider le fonctionnement de l'extension. Fait un programme de test qui ne fait qu'utiliser l'extension et regarde si ça fonctionne. Si ça plante également, c'est que le problème vient probablement de là, et PHP devrait renvoyer plus d'information que via apache.

Cordialement