Bonjour,
J'ai écrit un programme CGI de test en FreePascal 2.2.0.
Le programme tente de se connecter à un serveur MySQL :
Quand j'exécute ce programme dans une console (Linux), le message "Success" s'affiche. Tout va bien. Mais quand je l'exécute à partir d'un navigateur web (serveur Apache), c'est "Can not load MySQL library "libmysqlclient.so" qui s'affiche. Le programme ne trouve donc pas (ou n'arrive pas à ouvrir) la bibliothèque dont il a besoin et je n'arrive pas à comprendre pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 uses MySQL50Conn; begin WriteLn ('content-type : text/html'); WriteLn (''); with TMySQL50Connection.Create(nil) do try HostName := '127.0.0.1'; DatabaseName := '...'; UserName := '...'; Password := '...'; Open; WriteLn ('Success'); Close; Free; except on E: Exception do WriteLn (E.Message); end; end.
J'ai affecté une valeur aux variables d'environnement LD_RUN_PATH and LD_LIBRARY_PATH dans httpd.conf (chemin complet du répertoire qui contient libmysqlclient.so). J'ai également ajouté le répertoire de libmysqlclient.so dans le fichier /etc/ld.so.conf file. J'ai même vérifié que l'utilisateur qui exécute Apache possède bien les permissions suffisantes pour exécuter le programme CGI. Sans succès, toujours la même erreur incompréhensible.
Une idée ?
Ce n'est peut-être pas ici qu'il faut poser cette question ?
Merci de me le dire si je dois poser ma question ailleurs.
Merci d'avance si vous pouvez me donner un coup de main.
Partager