다음은 간단한 데이터베이스 클래스입니다. 물론 클래스의 일부분이기 때문에 제 질문과 관련된 부분을 제외한 모든 것을 제거했습니다.PHP로 파일에 쓸 수 없음
기본적으로 페이지로드시 실행 된 모든 쿼리, 실행 된 순서, 총 개수 및 실행 된 실제 SQL로 파일을 빌드 할 수 있습니다. 그것은 매우 좋지만 나는 문제가 있습니다. 나는 파일에 쓸 수 없다. 파일에 쓰여질 값인 $ sss의 값을 화면에 출력한다는 것을 아래에서 볼 수있다. PHP에서 모든 것을 보여주기 위해 오류보고가 설정되어 있고 쓰기 오류나 기타 문제가 발생하지 않습니다. 단지 파일에 쓰지 않습니다. 아마도 잘못된 폴더에 파일이있을 수 있지만 확실하지 않습니다.
그래서 로그 파일에 파일 경로를 설정하고 쓰기를 수행하는 좋은 방법은 무엇입니까? 지금 파일을 찾을 수없는 경우 오류가 발생해야합니까? 모든
<?PHP
class Database
{
public $debug = true;
public $query_count = 0;
public $debug_file = "debug.sql";
public function query($sql){
//start timer stuff for debug logger
list($usec, $sec) = explode(" ",microtime());
$time_start = ((float)$usec + (float)$sec);
//run mysql query
$result = mysql_query($sql);
///debug
list($usec, $sec) = explode(" ",microtime());
$time_end = ((float)$usec + (float)$sec);
$time = $time_end - $time_start;
if($this->debug){
$this->query_count ++;
$f = fopen($this->debug_file, "a");
$sss = "# ".$this->query_count."\n ".$time." sec \n\n".$sql."\n#-------------------------------------------------------------------------\n\n";
// I print to screen just for test to see what should be wrriten to the file
echo $sss;
fputs($f, $sss, strlen($sss));
fclose($f);
}
//end debug
}
}
?>
코드가 정상적으로 보입니다. 파일을 찾을 수 없거나 열리지 않으면 경고 메시지가 나타납니다. error_reporting을 어떻게 설정합니까? 현재 디렉토리에 쓸 수있는 권한이 있습니까? –