• 締切済み

WEB経由のPHPによるSQLServer接続ができない

FedoraCore6を使っています。WEB(Apache)経由のPHPによるSQLServer接続(query発行)ができません。環境を報告しますと、 OS: FedoraCore6 Apache/2.2.6 PHP: Version 5.1.6 DB: SQLServer2005 です。 以下のようなphpを組みました(セキュリティ上マズい部分は■にしています) ------------------ <?php print("開始します<br />"); $myServer = "TargetDB"; // freetds.conf での定義名 $myUser = "■■"; // DB接続ユーザ名 $myPass = "■■■■■"; // パスワード $db = @mssql_connect($myServer, $myUser, $myPass); if($db){ print "接続に成功しました\r\n"; }else{ print "接続に失敗しました\r\n"; } if(!mssql_select_db("■■■■■")) { die("データベースに接続できませんでした\r\n"); } $query = "SELECT * from ■■■■■■"; $result = mssql_query($query); while($row = mssql_fetch_array($result)) { foreach($row as $key => $value){ echo $key.":".$value."<br />\r\n"; } echo "<br />\r\n"; } if(!mssql_close($db)) { die("DB切断不可能\n"); } print "終わりました<br />"; ?> ---- WEB経由で見ると、 --- 開始します --- だけが表示されます。htmlソースを見ても --- 開始します<br /> --- で、エラーも何も発生していません。 PHPがweb上で動いていないのではと思い、 <?php phpinfo(); ?> というphpを作ってみましたが問題なく表示されます。 実行できてないのかなと思いコマンドラインで以下のように実行したところ、 #/usr/bin/php-cgi -q test.php 問題無く結果が表示されます。 不思議です。このような状態の場合、何が疑わしいのでしょうか。 お心当たりのある方、ご教授ください。

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

まずは >@mssql_connect($myServer, $myUser, $myPass); の"@"を外しましょう。エラーメッセージが標準出力に出ていません。 ここでFetal Errorなど出ていた場合はそこで処理がとまっています。 というかおそらくここで止まってます。 /usr/local/apache2/log/以下(環境によって違いますが)のファイルも参照するといいでしょう。 上記質問文だけでは解決方法が確定できません。

goroneko-begin
質問者

お礼

回答ありがとうございます。 ログを見ると(HTML画面には何も出ていませんでした) Fatal error: Call to undefined function mssql_connect()・・・ の表示がありました。 WEB経由だとmssql_connect()が未定義になっているようですね。phpinfo()では/etc/php.iniを設定ファイルとして読み込んでいるようで #php -c /etc/php.ini test.php は動きます。phpinfo()で表示されたiniファイルも同一の物を使っていますので、未定義なのはおかしいのですが??? 何かお心あたりありましたらよろしくお願いします。

関連するQ&A