mysql:985
From: Koichi Shimizu <Koichi Shimizu <smz@xxxxxxxxxx>>
Date: Thu, 01 Jul 1999 23:30:38 +0900
Subject: [mysql 00985] mysqlclient の実行時ロードについて
はじめまして。清水と申します。 さて、早速ですが質問です。今、 Linux(Slackware)上で、 Webから MySQLで構築 したデータベースにアクセスする CGI を書いています。 この CGI は、C で記述しているのですが、最初、コマンドライン上で動作させた ときに、 xxx.cgi: can't load library 'libmysqlclient.so.6' というメッセージが出てしまい、起動しませんでした。そこで、自分の LD_LIBRARY_PATH に、libmysqlclient.so.6 のあるディレクトリ(私の場合は /usr/local/lib/mysql)を追加して、実行したところ、うまく動作してくれまし た。 ところが、困った事に、これは CGI として動作させたいので、実際に Web から 起動されるときには、nobody ユーザで実行されるのです。 案の定、Web 経由で実行すると、error_log には、最初にコマンドラインで実行 したときと同じメッセージが出ていて、CGI は動作しませんでした。 このようなとき、nobody ユーザに LD_LIBRARY_PATH を指定する方法はあるので しょうか?あるいは、MySQL 自体を再コンパイルする必要があるのでしょうか? 環境は、 o gcc version 2.8.1 o GNU ld version 2.8.1 (with BFD linux-2.8.1.0.1) o Mysql 3.22.22 o Apache 1.3.6 o Linux 2.0.30 といったところです。 あまり MySQL 自体には関係の無い話かも知れませんね。済みません。もし「ここ ではふさわしくない」質問なら、CGI 関連のMLにでも投げてみますが…。 よろしくお願いします。 -- Koichi Shimizu Tokyo, Japan smz@xxxxxxxxxx