[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:29443] freetds がうまくいかず
須山です。
potatoを使用しております。
PHPからMicrosoft SQL Server 7(以下では単に「mssql」とよぶ
ことにする)にアクセスしようと思い,インストールしているので
すが,うまくいきません。お助けいただければ幸いです。
今までやったこと
ApacheおよびPHPはDebainのパッケージからインストールしたもの
を使用しております。それぞれのバージョンは,
ii php4 4.0.3pl1-0pota A server-side,
HTML-embedded scripting langu
ii apache 1.3.9-14 Versatile,
high-performance HTTP server
Debianのパッケージはそのままにしておきたかったので,sybaseの
モジュールは独立した拡張モジュールとして作成することにしまし
た。
まず,freetdsのインストールを行いました。インストール手順に
ついては『OPEN DESIGN』(CQ出版社)2000年12月号を参照いたし
ました。ただし,例としてあったのは,ソースからコンパイルして
モジュールを静的に組み込んでしまう方法です。
freetdsはバージョン0.52(最新版)のものを利用しました。
手順としては,
./configure --with-tdsver=7.0
make
su
make install
これで,/usr/local/freetdsに必要なファイルがインストールされ
ます。次に,/usr/local/freetds/interfacesに下記のように追加
しました。
MSSQL
query tcp ether hoge 1433
master tcp ether hoge 1433
次に,モジュールの作成に取りかかりました。まず,php4のソース
を取得するために,
apt-get source php4
としました。そして,(php4のソースディレクトリがカレントデ
ィレクトリであるとすると)
(この手順は『PHP4徹底攻略』(ソフトバンク パブリッシング
社)の393ページを参照しました。ただし,例としてあげられて
いたのはPostgreSQLのモジュールです)
cd ext/sybase
phpize
./configure --with-sybase=/usr/local/freetds
make
su
make EXTENSION_DIR=/usr/local/lib/php/extensions install
と実行したところ,php_sybase_db.soが上記のディレクトリにコ
ピーされました。
/etc/php4/apache/php.iniのファイルの最後に
extension_dir=/usr/local/lib/php/extensions
extension=php_sybase_db.so
と追加して,apacheを再起動したところ,
/var/log/apache/error.logに
/usr/sbin/apache: error in loading shared libraries: /usr/local/lib/php/extensio
ns/php_sybase_db.so: undefined symbol: dbinit
となり,Apache自体が起動しません。
おそらく,sybaseもしくfreetdsのコンパイルやインストールがう
まくいっていないのだと思いますが,普段,apt-get installしか
知らない人なので,解決の糸口がつかめません。
何か,問題点などがあれば,ご指摘していただけると幸いです。よ
ろしくお願いいたします。
--
Takeshi Suyama mailto:tsuyama@xxxxx