我正在运行 easyphp 14.1 。 我通常使用 Chrome 来测试结束调试应用程序。 在我的项目中,我有一个日志类,它将日志写入文件中。如果文件不存在,则会创建该文件。
到目前为止,一切都运行良好,但今天,使用chrome时不再写日志。
我检查了文件夹权限,一切都很好看。
我尝试删除并手动重新创建文件夹和日志文件,但没有任何效果。
所以我尝试用IE打开我的项目,我不知道为什么,日志再次开始工作。
但是使用 Chrome ,它仍然无效。
我不理解所使用的浏览器与使用PHP在文件中写日志的操作之间的联系。
任何人都可以帮助我理解这种奇怪吗?
编辑:源代码
<?php
class clLog{
const erreur = "[ERROR]";
const warn = "[WARNING]";
const trace = "[TRACE]";
/**
*
* @param $dConfig: la config du fichier INI
* @param $msg: le message à afficher
* @param $level: niveau de trace
* @return
*/
public static function Debug($dConfig, $msg, $level=clLog::trace) {
// Ecriture selon le level
if($dConfig['log']['level'] > 1){
$path = $dConfig['path']['racine'].$dConfig['log']['debug_path'];
// Verifie l'existance du dossier de destination.
if(is_dir($path)){
// Instance de log afin d'utiliser la fonction d'écriture
$o = new clLog();
// Construit le message
$message = date('H:i:s')." ".$level." ".$msg."\r\n";
// Construit le path du fichier de log SQL d'aujourd'hui
$file = $path.$dConfig['log']['debug_file']."_".date('d-m-Y').".log";
// Ecriture dans fichier
$o->Ecrire($file, $message);
}
}
/**
* action: ecrit le message $msg à suite du fichier dont l'url est passée en paramètre
* paramètres:
* - url: adresse du fichier
* - msg: message à insérer
*retour: aucun.
*/
private function Ecrire($url, $msg)
{
$fp = fopen($url, 'a+');
fwrite($fp, $msg);
fclose($fp);
}
}
?>