[PHP-users 2968] MSSQLとPHP+freeTDS+Apacheの接続

Kazuma HOSHI php-users@php.gr.jp
Fri, 19 Oct 2001 19:22:12 +0900


(株)アセントの星と申します。

Apache + PHP3 + freeTDS <-> MSSQL7.0(NT4.0sp6)
のインストールついて教えていただきたいのです。
過去メーリングリストでは、最終的な方法が記載されておらず
こまっております。
[PHP-jp 10710] Apache+PHP+Freetdsコンパイルを教えて下さい
のスレッド部分を参考にさせてもらってます。
(私の検索方法が悪いのかもしれません。すみません)

まず私の環境について記載します。

Linux 
  RedHat7.0.1J(製品版)		
 Kernel 2.2.16-22

WinNT4.0sp6 (FACTORY) <-このサーバの名前
  SQL Server 7.0
  認証方法
  WindowsNT認証(これでつながらなければSQL認証にしてもいいと考えてます)
  ドメイン *********(一応伏せときます)
  LocalIP 192.168.1.3

インストールを試みているのは以下のバージョンです。
FreeTDS0.52
Apache_1.3.20
PHP-3.0.18-i18-ja-2

Linuxの設定
1.FreeTDSのインストール(FeeTDS0.52)
/usr/local/src/ 以下にfreetds-0.52.tgzをおく
# cd /usr/local/src/
# tar zxvf freetds-0.52.tgz
# cd ./freetds-0.52/
# ./configure --enable-msdblib -with-tdsver=7.0
# make
# make install

2.Apacheのインストール(Apache_1.3.20)
/usr/local/src/ 以下にapache_1.3.20.tar.gzをおく
# cd /usr/local/src/
# tar zxvf apache_1.3.20.tar.gz
# cd ./apache_1.3.20/
# env OPTIM="-O2" ./configure --enable-module=so
# make
# make install

3.PHP3のインストール(php-3.0.18-i18n-ja-2)
/usr/local/src/ 以下にphp-3.0.18-i18n-ja-2.tar.gzをおく
# cd /usr/local/src/
# tar zxvf php-3.0.18-i18n-ja-2.tar.gz
# cd ./php-3.1.18-i18n-ja-2/
# ./configure --enable-pgsql --with-apxs=/usr/local/apache/bin/apxs
#             --enable-track-vars --enable-i18n --enable-mbregex
#	      --with-sybase=/usr/local/freetds
# make
# make install

以上の方法で、インストール完了しています。

各種設定。
1.PHP設定ファイル(php3.ini)のインストール、設定	
# cd /usr/local/src/php-3.0.18-i18n-ja-2/
# cp php3.ini-dist /usr/local/lib/php3.ini
# cd /usr/local/lib/
# vi php3.ini
で以下のように内容を変更(一部です)。
i18n.http_output = EUC-JP
i18n.internal_encoding = EUC-JP
i18n.script_encoding = auto
i18n.http_input = auto
i18n.http_input_default = EUC-JP

2.httpd.confの変更
#cd /usr/local/apache/conf/
#vi httpd.conf
でhttpd.confを変更。
php3が生きるように
 AddType application/x-httpd-php3 .php3
 AddType application/x-httpd-php3-source .phps 
の前についていたコメント(#)をはずす。

3.apachectlの変更
# cd /usr/local/apache/bin/
# vi apachectl
で以下のように記述
# |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||

(中略)
export SYBASE=/usr/local/freetds
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":SYBASE/lib
# --------------------                              --------------------

# ||||||||||||||||||||   END CONFIGURATION SECTION  ||||||||||||||||||||


4.FreeTDSの設定
# cd /usr/local/freetds/
# vi interfases
以下のように記述。
FACTORY
   query tcp ether 192.168.1.3 1433
   master tcp ether 192.168.1.3 1433

4.Apacheの起動
# /usr/local/apache/bin/apachectl start

起動確認。
1.Apacheの確認。
ブラウザにて、http://localhost とし、予想に反して見えました。

2.PHPの確認。
# cd /usr/local/apache/htdocs/
# vi test.php3
Defaultの /usr/local/apache/htdocs/以下にこのようなファイルをかく。
<html>
<?php
  phpinfo();
?>
</html>
これをブラウザにてhttp://localhost/test.php3 とし画面が表示されることを確認。
また、Apache Environmentに以下の記述があることを確認

LD_LIBRARY_PATH  /usr/local/freetds/lib 
SYBASE  /usr/local/freetds 

3.いよいよMSSQLと接続確認。
# cd /usr/local/apache/htdocs/
# vi test2.php3
とし以下のように編集。
<html>
<?php
  sybase_connect("FACTORY","hoshi","****");
?>
</html>

として、ブラウザにて確認。
NetScape4.7(Linux or Win) :接続中になりps auxでゾンビ発生。
IE(Win)では:エラーメッセージが出る。
「インターネット サイト http://hogehoge/test2.php3を開けません。
無効または認識されない応答をサーバが返しました。」
となります。

どなたか、お力添えください。お願いいたします。