Bonjour,

J'ai écrit un programme CGI de test en FreePascal 2.2.0.
Le programme tente de se connecter à un serveur MySQL :

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.
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.

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.