[PHP-users 29305] CLI版PHPの自動実行におけるデータベース接続について
katagiri@we-be.net
katagiri @ we-be.net
2006年 5月 28日 (日) 18:48:07 JST
こんにちわ!
katagiriと申します。
どなたか教えていただきたいのですが・・・
PHPのCLI版でPHPプログラムをタスクによって自動実行させているのですが、
1)テキストファイルへの書き込みのみなら自動実行できる。
2)データベースへの接続をさせると、内容の書き込みができなくなる。
または、データベースの内容が取得できなくなっている。
自動実行はしているのですが、データベースとの接続ができていないようです。
バッチファイルによる手動操作では、同じプログラムを起動するとちゃんと動くのですが、
どのように設定したら、よろしいのでしょうか?
環境:PHP4.3.9+MySQL3.23.49+Windows2000Server(IIS5.0)
同じ現象は、PHP4.3.9+MySQL3.23.49+WinXP(apache)でも起きています。
よろしくお願い申し上げます。
タスク実行バッチファイル(auto.bat)
php.exe test.php
test.phpの内容
#!c:\php\cli
<?php
$fp=@fopen("sample.txt","a") or die();
$str="書き込みました。".date("Y/m/d D H:i:s",time())."\n";
fputs($fp,$str);
//DB接続(テスト表示用)-----------------------------------------
$dbHandle = mysql_connect("","root","root");
if ($dbHandle == False) {fputs($fp,"can not connect db\n"); exit;
}
$db = "test";
$sql = "select * from tab1 order by number";
fputs($fp, "SQL=".$sql."\n");
$rs = mysql_db_query($db,$sql);
while($row=mysql_fetch_array($rs)){
for($j=0;$j<$num;$j++){
fputs($fp,$row[$j]."\t");
} //HTML文を出力 表の改行</tr> を出力
fputs($fp,"\n");
}
fputs($fp,"\n\n"); //HTML文を出力 テーブルの終了を指定
mysql_free_result($rs); //結果レコードをメモリから開放
mysql_close($dbHandle);
fclose($fp);
?>
PHP-users メーリングリストの案内