[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 メーリングリストの案内