[PHP-users 2122] about 「signal Segmentation fault (11)」

HIRANO Nobuaki php-users@php.gr.jp
Mon, 17 Sep 2001 20:07:33 +0900


平野と申します。

現在以下のような構成でWWW−DB連携システムを構築しております。

WWW:
RedhatLinux6.2J
Apache1.3.20
PHP-4.0.6
sybase-ase-11.0.3.3-1
↑Freetdsでうまく構築できなかった為、sybaseをインストールし
Webサーバ側では使用せず、DBサーバへの接続のみに利用

DB:
WindowsNT4.0
SybaseSQLServerSystem11

その中で行き詰まってしまいまして、
ご質問させていただきたいと思います。

行き詰まっている個所は、Apacheのエラーログに以下のようなエラーが記述されま
す。
child pid 29612 exit signal Segmentation fault (11)

これが起こる原因として、PHPのプログラムで、DBサーバにクエリーを送信したとき
に
起こっているようなのですが、それが必ず起こるわけではなく、たまに起こるので
す。

プログラムは以下のようなものです。
test.php(3行3列のテーブルにアクセスし、テーブルに表示する)
文字コードはPHPなどDBすべてSJISで統一
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
 <title>sybase connect</title>
</head>
<body bgcolor="#ffffff">
<center>
<?
$ret = sybase_connect('サーバ名','ID','PASS');
if(!$ret){
	print "DB_CONNECT_ERROR<br>\n";
	exit;
}else{
	print "成功:$ret<br>\n";
}

$change_db = sybase_select_db('syuusyoku');
if(!$change_db){
	print "DB_SELECT_ERROR<br>\n";
	exit;
}else{
	print "成功:$change_db<br>\n";
}

$query =sybase_query("select * from BN_SETSUMON_KBN2");
if(!$query){
	print "DB_QUERY_ERROR<br>\n";
	exit;
}else{
	print "成功:$query<br>\n";
}

print "<table border="1">\n";
$num=3;

for($i=0; $i<$num; $i++){
  print "<tr>\n";
  print "<td>".sybase_result($query,$i,'カラム名1')."</td>\n";
  print "<td>".sybase_result($query,$i,'カラム名2')."</td>\n";
  print "<td>".sybase_result($query,$i,'カラム名3')."</td>\n";
  print "</tr>\n";
}
print "</table>\n";
sybase_close($ret);

?>

</body>
</html>
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
実際に実行すると、データは取得できており、予想通りの表示もできております。
しかし、どういうタイミングかわかりません(DBにアクセスするときと思うが)が、
ブラウザ側(IE5.0)では「無効または認識されない応答をサーバが返しました」と
ブラウザが返してくる時もあり、更新ボタンで更新すると元の表示に戻ります。
その後、Apacheのエラーログを確認すると、上記の「Child pid」のエラーが
出ております。

安定した稼動を目指している以上、この状況はあまり好ましくないと思います。

過去ログなどを検索すると、どうもバグではないかという話があるのですが
PHPの処理中にいきなりプロセスが落ちるというような状況は普通にあるのでしょう
か?
動作にむらがあるためどうも先にすすめなくなってしまい、行き詰まっております。
その辺に詳しい方がいらっしゃいましたらご教授願いたいと思います。

よろしくお願い致します。

平野伸明
hirano@start.kyoto-su.ac.jp